separated controllers and views