Reverted, see changeset/174266886
Reverts changesets 174267455 174267446 174267437 174267427 174267683 174267630 174267605 174267592 174267583 174267567 174267536 174267512 174267500 174267491 174267478 174267475 174267469 174267458