columns, first pass