concrete class and abstract class finished,t2nd attempt