refactor to introduce column configs