worked on base abstract class