implement some base operate function