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