DESK-37: start
DESK-37: logic implementation
DESK-37: finish