log is back to a thread and async uses direct function wrapper for processes