Added Abstract Class