Revert d500239..f10d314

This rolls back to commit d50023993ab75a8a65f6f0d399f1b05dba4a5e01.
Revert "Revert d500239..f10d314"

This reverts commit 4252ae3ef8a3abef2bd9b9c5e745db256f0284bf.
Revert d500239..6bac0d3

This rolls back to commit d50023993ab75a8a65f6f0d399f1b05dba4a5e01.