add a convenient higher level deserializer class