add footer(not perfect)