fancy things like using an array to expand to hash values sound great, in reality this instance didn't work out so well
use random for nonce, and retry if server is unhappy with the server side nonce