Fix the offsets in stream-reader; custom string parser; centralize recycling