added framework for PID control