v1.1 Быстрее переписать с нуля, чем вылавливать баги =(