This paper describes 2 types of contact that needs to be dealt with. Colliding contact and resting contact. For finding the time of collision, the paper suggests using the numerical bisection method with a threshold. The paper describes how to exploit coherence as means of cacheing certain data for performance increases. It first describes how to use and cache seperating planes for collision detections of convex polyhedras. Then describes how insertion sort, and conherence can lower the computational cost of checking bounding box overlaps to O(nlogn + k). For colliding contact, the paper describes what impulses are and how they are used to prevent interpenetration. For resting contact, the paper describes the 3 conditions that are needed to be satisfied. The paper does a good job walking you through the derivation of how these constraints are solved and also shows how certain constraints can be exploited to get certain desired effects. (ex. 0 invmass, how to make hinge constraints)