Preliminary support for sections.  Ugliest code I've written thus far.