pure go decoding