ideally would prefer a map (to avoid iterating over any time I'm looking for a key)