add some base interface