51c705fbe5
Original commit reverted in 976de7130b due to test failures. This commit includes fixes for the tests.
976de7130b