Made base classes abstract
Committing for backup