massive refactoring (under 80 columns)