修复一些 issue 并添加几个 API