change some algorithme to modify