add summarize function