moved diffie hellman stuff back off of the other branch - I don't know what I'm doing apparently.