separate controller and ui