v3 - Uses Dictionaries and Tuples