added abstract classes