Redefining shift_receive_buffer

The logic has been corrected and this method now only deals with buffer
ordering