added key file passphrase support