ticket: 10 Реализация + тесты.