Add timeout argument