initial split into smaller controllers/views