added missing abstract class