рефакторинг + тесты