Crypto

in preparation.