changes for encryption/decryption