A lot of update

- add api support
- fix args
- fix event