update some api to version 2
add new feature and update some