header and footer implemented