Revert "Revert "Base structure""

This reverts commit 814cf7f75002ca1de888cbed8d025912b8479c6b.
Revert "Revert "Revert "Base structure"""

This reverts commit d42898ff4136a13647a947fe075547a80e9cb43d.