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

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