Added override directive to methods.
added comments and more tests ready for testing failed users.