Revert 39cce5f..4aebf9e

This rolls back to commit 39cce5fac5c0acc449da97c0610f241944b933e1.
Revert cc7a060..e2cfb8f

This rolls back to commit cc7a06050380562154f8696f595374dd8d38aceb.
Revert "Revert cc7a060..e2cfb8f"

This reverts commit f5e65302da6ee71a32196f126b09b9080b3799a0.