BaseModel is now an abstract class