- add run() - misc cleanups, like moving colors to its own file - add more tests, and improve the existing ones