basic structure is finalised