   #
   # Returns nothing
   drawRecruitPathsToSchool = (school) ->
-    schoolRecruits = recruits.filter((r) -> r.institution in [school.team, school.alt])
-    schoolRecruits.sort (a, b) -> d3.ascending(parseFloat(a.stars), parseFloat(b.stars))
-
+    schoolRecruits  = env.recruits.filter((r) -> r.institution in [school.team, school.alt])
     recruitFeatures = schoolRecruits.map((player) -> lineStringFromPlayerToSchool(player, school))
-    recruitFeatures.sort (a, b) -> d3.ascending(parseFloat(a.properties.stars), parseFloat(b.properties.stars))
+    schoolRecruits.sort  (a, b) -> d3.ascending parseFloat(a.stars), parseFloat(b.stars)
+    recruitFeatures.sort (a, b) -> d3.ascending parseFloat(a.properties.stars), parseFloat(b.properties.stars)
 
     connections = zoomGroup
       .selectAll('.connection')

render = (event, env) ->

  map = d3.select('#master-map').append('svg')
    .attr('width', env.width)
    .attr('height', env.height)

  # Generates a LineString GeoJSON object from a player to a school
  #

    recruitNodes.enter().append('circle')
      .attr('cx', (d) -> d.coordinates[0])
      .attr('cy', (d) -> d.coordinates[1])
      .attr('r', 3)
      .style('fill', (d) -> colors[d.stars - 1])
      .attr('class', 'recruit')

    recruitNodes.exit().remove()


  # Set the fill domain based on the total number of recruits
  env.fill.domain [0.2, d3.max(env.counties.features, (d) -> d.properties.total)]

  # Add counties
  zoomGroup.append('g')
