FYI: dJ, dV etc. read like "delta-J", "delta-V" etc. Not a blocker, but it's something I might change at some point.  Maybe call them "cJ" or "devJ" or something?