make the footer stick to the boottom of the page
major refactoring