Return a dict instead of a list, for more flexibility