wait until now takes a optional timeout argument