Implement readImpl

It might be worth checking here that the rest of the big buffer is unaffected.