Post Sprint

Refactoring and new tests