wip - this is really taking shape.