addable interface -> abstract class