This reverts commits: 31e1405f39d72f8b885e92256b0dc29ecab1a99, 7cb43840b59c539d9b043990ed658ae15a9defc3, 1ab57a4493689806035a9853b0030cc6fea65590, c24b511ca60587e0db12d46a7e7567c86c3649bc, b2caf3e8b31b4b6b16499108ee3aabdcb94f0717, 44f9c307fb6204bfd2181b19a9d94cabddf04de9.