general structure and layout in