private key generation etc