major cleanup: reduce javascript, simplify controllers, etc