change many funtion