some cleaning up of the comments. refactored out some common methods. added some validation around the encrypt method. updated the unit tests to reflect the updated (encrypt) method