fix abstract class