added BIP38 encryption