Uppdaterat med fler kommentarer och ändrat enstaka variabelnamn.