Initial version with varint econding/decoding