a start on the contact solver