support receiving buffer later return