Initial version that encrypts and decrypts