removed assumptions about case of letters in examined messages
used proper data structure for checking membership, hashset instead of hashmap
changed file handling to be more flexible
changed to use generator expressions