generate columns and related methods