Changed to model class to ease override