Revert "d"

This reverts commit 5c7056ae16c0077d419fce3ffae8eb8eb8159e54.
Revert "c"

This reverts commit 1811f1e7be79fba4e3c0789b879ac71d0047fcbc.
Revert "b"

This reverts commit fd803b0e205f1812ebf2dd85ff387b5bd08c4ed3.