added new abstract methods