And adjust tests to match.
These currently fail for several reasons and will be adjusted as the code it ported to this branch.