new PID controller and some refactoring