add some api function