don't rely on undocumented behaviour of keys/vals returning order consistency