introduce header/body/fotter layout