allow model class to be extended and overridden