faster version of init_columns()