basic structure refined