тут совсем другой метод если что от исходного проекта ничего не взял, но оно работает буквально за 5 блоков