moved elements to sub object
added tons of comments
Merge branch 'feature/restructure' into develop