Revert "Restructure"

This reverts commit ca444032f05f022a25c1b08711cc11d00931adfc.
Revert "Revert "Restructure""

This reverts commit 7edf01c78f235c5b69a7a5fc1ad837e1e3df3de9.