UPD: рефакторинг