lisätty koodia ja jäsennelty sitä + luotu uusi UML-kaavio