Added controllers, views, viewmodels and q promises