Partial work on #192 - the layout doesn't actually work, but the structure is kind of in there.