add controllers, views and forms. refactor to partials