Some improvements on the code and structure

* Code style, spaces and other improvements
* All tests passing
* Bin cleaning
* test/case dir was created to maintain files for cases isolated
Is this generated by the project? Files generated from system or editors should not be on gitignore, they need to be handled by each developer.