added header, footer. rearranged.