smoother control logic