extracts decoder
ws / cs / doc
uses offsets for decoding instead of "continuous dropping"