accomplish modify  function