Полностью переписал, все равно какая-то хуета