separated controllers from view