now use BaseModel for all model classes except UserProfile which needs a OneToOne