Modified src
Fixing polymorphism issues, does not compile