fix bug
refine
fix bug: invoke twice in wh_preprocess()!!!