refactor to partials and add footer