Added polymorphism

Generally messed things up
Removed polymorphism