INTERNAL: structural updates, re-factoring.