разбил большой case на несколько меньших функций