fixing interface and adding vigenere algorithm