refactor and add travis-ci support
fix conflicts