Refactoring
Unittests