add callback/timeout: compile ok