add modify_each func