Merge pull request #1 from ktaras/feature/refactoring

Adds features and some refactoring
Adds some fixes and refactoring
Adds CC and Travis