try to refine forwarding procedure