extract widget controller and routes
add test coverage gem to spec_helper
ui changes