Revert "project refactored"

This reverts commit f8e258bcf9d514995991b518967f19434e60ab5b.
Revert "Revert "project refactored""

This reverts commit 6f7eba9c69fb9cba023b2ec097d40f3fb1a5d440.
Revert "project refactored"

This reverts commit f8e258bcf9d514995991b518967f19434e60ab5b.