Tidy up constraint solving. Shit is awesome now