have added cryptography functions