add safety to buffer reads to deal with negative offsets.