3rd version by Wu.