kommenterat och refactorerat lite