change generateNRandomKV to generateNKV, add generateNKVWithDepth