changed new_type_pointer() to new semantic