base layout, header footer and main