some work on controllers and models