Revert "Revert "Revert "Revert "Base structure""""

This reverts commit dd75bca0732fd0d53351e78ae831a6bc078a84e3.
Revert "Revert "Revert "Base structure"""

This reverts commit d42898ff4136a13647a947fe075547a80e9cb43d.
Revert "Revert "Base structure""

This reverts commit 814cf7f75002ca1de888cbed8d025912b8479c6b.