controllers and better mapping