Refactoring

* Refactored a lot of code
* Improved Test Coverage to 100% - https://coveralls.io/builds/865416
* File by File Description will be posted tomorrow ( too late here )