use do syntax to keep eta-abstraction but simplify timeout