Refactoring
Tests
Test fixed