adaptive control and self tuning