Refactoring + commenting