comments before GatherBlock in header, renamed _buffer, _pos which are
non-standard
cleaning up, and comments in .cpp for GatherBlock
comments for ScatterBlock and some reordering