concrete class and abstract class finishedr 4th attempt