removing print lines and adding the logic for the abstract modifier