basic structure is set