started model view polymorphism