check !handle when calling alloc