polishing the waitFor of User