a nested map structure could prove usable for the logic