Merge branch 'refined-internal-data-structures' into internal-testing