removed 'virtual' wherever 'override' is used