Zrobiłem wcięcia dla lepszej widocznosci, dodale 3 procedury i 1 funkcje