add more unit tests
add travis config
fix coding style