add OffsetFetch support
refactor code needing version