passing tests on immutable branch
merged immutable, no major breakage