all controllers, and js logic