constraint solving almost done