adding encryption and decryption