took only_if out since the route provider does the checking