koodiin lisatty muutamiin kohtiin tyhjia riveja luettavuuden vuoksi