use explicit timeout argument instead of **kwargs