support decoding all the types