reopened core models, controllers, views rather than subclassing