Cleaning up the architecture
Merge branch 'feature/aegis'