basic structure.