created base interface