code refactoring
Travis CI support