Revert "Revert "Refactor and new features""
Merge pull request #10 from danielfrg/revert-9-revert-8-patch-1

Revert "Revert "Refactor and new features""