added encrypter and decrypter