refactoring
add travis ci