58-abstract and concrete class