allowing manual configuration of columns
splitting logic into multiple files (to act as 'mixins')