add summary  function