Refactoring
Tests