need to restore primitive.h