the basic structure