May be add some pseudocode is better.