de-coupled json deserializers