Enhanced the abstract methods