fixed temp_name
alloc