Refactors tests
Refactor to Strategy Pattern