Lisätty käyttöliittymän perusteet ja refaktoroitu koodia