enhanced model classes