refactored caesar_cipher