move process_handle to a separate header
handle more error conditions when launching a process