lisätty kommentteja ja siivottu koodia