added derivative control