added derivative