all keys must be ints