changed the abstract class methods