fix a bug of cycle / recursive call