Revert "basic_structure"

This reverts commit d5cc1702c7f95e5eea6a75a480e0773e7e2eccb8.
Revert "Revert "basic_structure""

This reverts commit 1c7e731f947036d20d9957cda040089eaadcfebd.