revise yield, add debug msg