updated with nOfKey