This patch reverts 6959e6c3a6, 32a2492425 and 7f7b6b4e29 on top of the current tree, adding back their features.
6959e6c3a6
32a2492425
7f7b6b4e29