In addition to modeling a single hair, we must also model hair-hair contacts so that we can capture the interesting interactions when simulating a mass of hair. If we were to consider every possible pair of particles for interaction, the algorithm would become quite expensive. Instead, we reduce the number of interactions considered by performing two kinds of pruning, enabling us to parallelize our hair simulation and improve performance.