Now using (mutable) Map rather than explicit ListMap