add passphrase support