change generateNRandomKV to generateNKV, add generateNKVwithDepth