modified Differentiate.*, added some settings and comments