Refactored (max 80 cols)