Refactoring
Refactoring.
Implementing unit tests.
Refactoring.
Working on unittests.
Working on unit tests.