add fire-and-forget support