added some of my abstract class