pulled column fn and offset fn out to their own mixins, and removed generation of offset where offset = max rows