removed unnecessary abstract methods