create interface and abstract class.