traverse all columns
document some strange things