temp_type is required