simplify slice decoding logic
support field skipping
document defs