couldn't we just retain the original buffer here and return ?