code refactoring
update gitignore
Travis config, closes #6