refaktorerat kod, från sprint 4 (det som var kvar, och börjat på sp5)