Try to impose some more logic on structure, and document.