Cherry-picking part of Hironao's work from #18 on getting extra columns (#7)
Pulling some more of Hironao's helpful extra-column changes from #18 (#7)
Another cherry-pick of Hironao's commits (#7)