mutation now use dictionaries and specify AA changes