add modify function