This isn't the most effecient for now as we generate all the possible mappings, but it's assumed that the number of mappings will be low for now...