add derivatives for operator -
add generic parameters