Kommenterat och refaktorerat lite.