add BuildColumns function