abstract class notes