update

- simplify the supported types
- fix some memory-leak bugs
- implement the function to call fucntion
- add some test simples