update and module apis
merge conflict