<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_routes(self, athlete_id=None, limit=None):
 """ Gets the routes list for an authenticated user. http://strava.github.io/api/v3/routes/#list :param athlete_id: id for the :param limit: Max rows to return (default unlimited). :type limit: int :return: An iterator of :class:`stravalib.model.Route` objects. :rtype: :class:`BatchedResultsIterator` """

        if athlete_id is None:
            athlete_id = self.get_athlete().id

        result_fetcher = functools.partial(self.protocol.get,
                                           '/athletes/{id}/routes'.format(id=athlete_id))

        return BatchedResultsIterator(entity=model.Route,
                                      bind_client=self,
                                      result_fetcher=result_fetcher,
                                      limit=limit)