code: function(userId1, userId2, callback){
    let similarity = 0,
      finalJaccard = 0,
      ratedInCommon = 0;
  
    const user1LikedSet = Key.userLikedSet(userId1),
      user1DislikedSet = Key.userDislikedSet(userId1),
      user2LikedSet = Key.userLikedSet(userId2),
      user2DislikedSet = Key.userDislikedSet(userId2);
  
    // retrieving a set of the users likes incommon
    client.sinter(user1LikedSet,user2LikedSet, function(err, results1){
      // retrieving a set of the users dislike incommon
      client.sinter(user1DislikedSet,user2DislikedSet, function(err, results2){
        // retrieving a set of the users like and dislikes that they disagree on
        client.sinter(user1LikedSet,user2DislikedSet, function(err, results3){
          // retrieving a set of the users like and dislikes that they disagree on
          client.sinter(user1DislikedSet,user2LikedSet, function(err, results4){
            // calculating the sum of the similarities minus the sum of the disagreements
            similarity = (results1.length+results2.length-results3.length-results4.length);
            // calculating the number of movies rated incommon
            ratedInCommon = (results1.length+results2.length+results3.length+results4.length);
            // calculating the the modified jaccard score. similarity / num of comparisons made incommon
            finalJaccardScore = similarity / ratedInCommon;
            // calling the callback function passed to jaccard with the new score
            callback(finalJaccardScore);
          });
        });
      });
    });
  }
docs: the jaccard coefficient outputs an objective measurement of the similarity between two objects. in this case, two users. the coefficient is the result of summing the two users likes/dislikes incommon then summing they're likes/dislikes that they disagree on. this sum is then divided by the number of items they both reviewed.