added decode_varint + tests