added PIDController class