replace entity properties with proper polymorphism