Now more robust, supports all types of keys, primitive and non-primitive