try finish by stack, not done