Added 'virtual' keyword before each overriden virtual function
Cleaned up code