A little bit of refactoring and commenting