add unittest and .travis.yml configs