interface -> abstract class
Interface -> abstract class