Feature/805 project structure

`a.get('code')` or `b.get('code')` can return `null`