Feature/update deps

- update deps
- update test cases
- document enhancement
- add .travis.yml