try choosing scales dynamically... (those scales are ~ the sqrt(variances)!); fix bug in scaling the derivatives the wrong way; allow numerical derivative step size to be set