просто витратив 3 години на виправлення багів, і мій висновок такий, що я повинен був прийняти рішення писати свій код без багів з першого разу