half-done modular controllers
more way done
modular controllers part 3
fix bugs, tests pass