First draft.

Needs some more flexibility, needs borders. Needs to be just that little
bit nicer.