try to combine self_keys and object_keys, method will be simplier