the abstract class was added