change some function