vähän jaoteltu toiminnallisuutta et olis mukavempi tehdä