BaseConfigure change abstract class to interface