added passphrase support, currently assumes encrypted wallet