better controllers and routes