fuction modify