Да, перемудрил со сложностью. Буду либо уменьшать сложность, либо добавлять контрольные точки, перед сложными моментами