added controller, routes, and model