first algorithm
rename
note of TCPL is over, smile