abstract class changed