make parser struct private
return zero terminated string on decoding
uniformize buffer sizes