why not return here immediately?