constraint smoother many fixes