add weichao's code