Buffer for Kelvin Varley Divider - Page 1
Forum section: electronics / general

author: Crossphased
author_rank: Regular Contributor
timestamp: May 08, 2019, 05:09:56 am
content: Hello friends,I have a Julie Research Labs Kelvin Varley Divider, and I'm trying to make it usable as a precision voltage source.When I first received the unit it wasnt working optimally, on certain dial settings the readings would be "jumpy" and not stable. No amount of turning the knobs cleaned the switches enough to work properly. This past weekend I gave the switches a thorough cleaning with contact cleaner and De-oxit, now the divider is working much better. There still is a small amount of loading error though, that I'm hoping to address with a properly designed buffer.Here's what I've observed with the loading error-Starting with an aged and stable AD587 (which outputs slightly over 10V) as the voltage source to the divider, and a DMM with 10G input impedance to read the output. Then adjusted the knobs until the DMM reads exactly 10.00000V.Next adjusted the primary dial from 9->0, 1 volt at a time. Here's the readings:8.999957.999926.999905.999884.999863.999842.999821.999810.99980So I lose ~200uV over the range of the first dial. I'd like to improve this. Also I'd like a higher output current than the divider can provide. Examining the selection of low bias current opamps, I found the ADA4530. Its not cheap at 25 bucks, but it seems to fit my needs: 20 femtoamps @ 25C bias current, different offset voltages for different common mode voltage. I was hoping to get some pointers on how I might design a buffer to to correct the offset voltage for different input voltages.To start I was thinking something kind of like this, please let me know if I've made any mistakes:would this configuration be appropriate to correct for offset voltages? Or perhaps using a DAC instead of 5V as the source to the pot? Or would it make sense to implement some sort of autozero function? Reading the datasheet the input must be carefully guarded to get the low bias current, I'm not sure if having switches connected to the non inverting input would be a bad idea for leakage currents?I was trying to think of ways to reduce any bias current drawn from the divider, and thought there must be some way to provide part of the bias current from the output. Would something like this work?Looking through various app notes, I saw this interesting circuit, which is supposed to have near infinite input impedance as the output voltage approaches the input voltage:Any thoughts you guys have? Thanks so much!!Edit: I should also mention I've attempted making a buffer already. I tried both the LTC2057, & the AD8638. They both gave nearly identical results. So starting with an output from the divider that reads 10.00000 on the meter, then inputting that to buffer, then reading buffer output with meter, here's the numbers I got:9.999858.999797.999776.999755.999724.999703.999682.999661.999640.99962

author: maginnovision
author_rank: Super Contributor
timestamp: May 08, 2019, 05:55:37 am
content: What's the specified linearity for the divider?

author: Crossphased
author_rank: Regular Contributor
timestamp: May 08, 2019, 06:48:00 am
content: From Tins website, it looks like 1 ppm:https://xdevs.com/doc/JRL/Julie_Research_Labs_VDR1067_VDR307_Kelvin_Varley_Voltage_Divider_Operator_Manual.pdfSo at 10V, that should be 10uV error

author: Kleinstein
author_rank: Super Contributor
timestamp: May 08, 2019, 09:27:10 am
content: The ADA4530 is a super low bias amplifier, but with quite some noise and voltage offset.Assuming a source impedance of some 50-100 K a more suitable buffer would be something like a precision amplifier, so more like an AZ OP like LTC2057 or maybe AD8628 with supply bootstrapping.The AD8628 has less bias and lower current noise, but is only 5 V so would likely need bootstrapping of the supply. A bootstrapped supply also improved linearity.It a balance to find between noise and bias current.

author: Echo88
author_rank: Frequent Contributor
timestamp: May 08, 2019, 10:55:24 am
content: Very interesting topic in itself; sadly i never built one. Good thing it already has been discussed already:https://www.eevblog.com/forum/projects/very-low-bias-current-op-amp-to-buffer-a-kelvin-varley-divider/25/You could also just use the buffer from AN86 Page 9 or pick a suitable AZ-OP-Amp from my excel-list in the mentioned thread, if youre feeling not ready to use a bootstrapped power-supply yet.

author: The Soulman
author_rank: Super Contributor
timestamp: May 08, 2019, 11:08:48 am
content: What dmm are you using and does it read zero when shorting the input?The numbers you've posted doesn't look like its loading down the kvd to me, also 10 giga Ohm input impedance already is a lot,and difficult to improve on without adding to much noise and (more) dc-offset.

author: Conrad Hoffman
author_rank: Super Contributor
timestamp: May 08, 2019, 12:08:58 pm
content: Those dividers are rarely off by more than 1-2 ppm. You have to be careful with grounding between the source, divider and meter. Jim Williams had a buffer in one of his app notes for LT. A 10 meg meter should be quite sufficient. Watch out for thermal errors. Use untinned copper wire (bell wire). I use wire pulled from old phone cables. Watch out for the bananas used with the meter, as those can be pretty horrible.

author: Dr. Frank
author_rank: Super Contributor
timestamp: May 08, 2019, 12:49:53 pm
content: This KV has 100k impedance, so 10 pA of bias current will create about 0.1ppm error at about every setting.Please specify, which bench DMM you're using. This >10 GOhm specification for your DMM is in-appropriate, bias current is the key paramter.The usual Keysight DMMs have max. 20pA, and < 2ppm INL, and therefore should not create such big linearity errors.All readings must be done in the fixed 10V range, and offset at zero setting has to be subtracted upfront.If all these hints are already implemented, then I really wonder, whether the KV is damaged, or single resistors have drifted too much.. is it possible to trim the first decade in this instrument?For output buffering, fA opamps are the wrong choice, due to their high offsets, (and due to the unnecessarily low bias currents.)Instead you need a chopper /zero drift opamp with relatively low bias current in the pA range, the LTC 2057 for example has typ. 30pA but max. 200pA, which is too high.Better use others, with higher noise, but < 20pA bias current. LTC2054 could be an alternative, but max bias is not specified properly.The older ones, like LTC 1052 have typ. 1pA, max. 30pA @ 25°C.Frank

author: TiN
author_rank: Super Contributor
timestamp: May 08, 2019, 02:55:15 pm
content: ADA4522 is also worth to consider.QuoteFirst 3 decades of these JRL KVDs are in oil tanks. Might be quite tricky to trim.Photo credit goes to China metrology enthusiasts.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 08, 2019, 03:07:21 pm
content: The ADA4522 is even higher bias than the LTC2057. It's more like a cheaper alternative and might need compensation of the bias current. At the pA level one would need to check the bias currents anyway, as there can be additional current from the protection and filter parts and board. The next step to some compensation is not that large.The LTC1052 is a good low bias option. Another low bias one is AD8551.

author: guenthert
author_rank: Frequent Contributor
timestamp: May 08, 2019, 03:56:31 pm
content: Quote from: Crossphased on May 08, 2019, 05:09:56 amIs there truly an error due to load? You might want to determine the bias current of your DMM (at those voltages), it might be negligible.To get the best performance, those deviders are used w/o load ('potentiometer method'), seehttps://doc.xdevs.com/doc/Fluke/appnotes/nf_ncsl02.pdffor an extreme example. No buffer needed, i.e. no offset correction needed.

author: tggzzz
author_rank: Super Contributor
timestamp: May 08, 2019, 04:00:03 pm
content: Quote from: Dr. Frank on May 08, 2019, 12:49:53 pmInput impedance, of course. The output impedance varies with the dial setting.I couldn't be bothered to calculate it, so I crudely measured my VDR106/7. With the input open (arguably invalid but sufficient to prove the point), 0000000->3.3ohms, 0000001->6ohms, 1000000->10kohms, 5000000->50kohms, 900000->10kohms.From memory, measuring my VDR106/7 with an old and uncalibrated Solartron 7081 in ratio mode, showed a max difference between the dial and display of ~2.5ppm.

author: maat
author_rank: Regular Contributor
timestamp: May 08, 2019, 10:33:26 pm
content: I used an LTC1052 + BUF634 to buffer my 720A. I used a bootstraped supply for the LTC1052 to have it swing +- 10 V.If people are interested I can check for my design and simulation files and upload them.

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 02:08:39 am
content: Quote from: Kleinstein on May 08, 2019, 09:27:10 amThank you very much for that Kleinstein. How do you feel about the AD8638? Its supposed to have lower bias current, but also slightly higher offset. Over the weekend I put together a quick socketed buffer on a breadboard so I could try different OPAs. Unfortunately it performed slightly worse than just using the DMM directly. I tried using AD8638 & LTC2057. Maybe I'll give it another shot with a real board instead of breadboard. Does bootstrapping also help lower bias current? For instance if the negative supply is only a volt or so less than the signal, instead of at ground potential, will the opamp pull less bias current? I haven't done a bootstrapped supply before, I'll look up some examples and return with some ideas. Thanks very much!

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 02:10:04 am
content: Quote from: The Soulman on May 08, 2019, 11:08:48 amHello, yes the DMM reads zero when shorted. It is SDM3065, by Siglent. Also I have the autozero feature turned on

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 02:13:58 am
content: Quote from: Conrad Hoffman on May 08, 2019, 12:08:58 pmThank you Conrad. Yes I could improve on the connections, I'll do that. I'm not using low emf cables, perhaps I should acquire some. I dont see how to avoid bananas at the dmm though? For the connection to the KVD, I'm using silvered teflon wire, crimped to a ring terminal. Both it and the lug at the KVD have been treated to Deoxit. What would be your preferred advice for connecting between the KVD and the banana jacks at the DMM? Thanks very much

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 02:29:38 am
content: Quote from: Dr. Frank on May 08, 2019, 12:49:53 pmThank you for that Dr Frank,The meter I'm using is Siglent SDM3065, 6.5 digit meter. I just looked up the datasheet and it specs a 50 pA "offset current". It doesnt have a 10V range, instead a 20, but it was on that range for all measurements. Also it has an autozero feature which I enabled. Thank you very much for your suggestions, I'll check out the LTC2054 & 1052. Here's link for meter datasheet, the spec is under heading "Measuring Method and other Characteristics "http://www.siglentamerica.com/USA_website_2014/Documents/DataSheet/SDM3065X_DataSheet.pdf

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 02:31:17 am
content: Quote from: maat on May 08, 2019, 10:33:26 pmYes I would love to see your design if possible. I havent bootstrapped an op amp supply before so I would love to see how you did it. Thanks

author: 3roomlab
author_rank: Frequent Contributor
timestamp: May 09, 2019, 04:27:14 am
content: ok I see something I dont fully understandin figure 6 of the DSOL11.pdfX =solder-copperjointdoes it mean a thermoelectric compensation similar to this? just a solder jumper?but that would mean copper - solder - copperso what is solder - copper?

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 05:19:34 am
content: Did a little reading about bootstrapping, much easier than I would have expected. Read the article here:https://www.analog.com/media/en/technical-documentation/application-notes/AN-1593.pdfHere is what I came up with for 5V supply op amp, and would adjust values for substitute op amps:Or could use opamps instead of Fets to provide the supplies. From what I understood from the article, opamps like to have their maximum voltage swing available to them, and this improves linearity.

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 05:22:50 am
content: Quote from: Dr. Frank on May 08, 2019, 12:49:53 pmI just checked the LTC2054 datasheet and I see what you mean! Typical bias current of 1pA, with a max of 3000pA!!

author: Crossphased
author_rank: Regular Contributor
timestamp: May 09, 2019, 05:34:19 am
content: Also, after Tin showed a picture of the inside I figured I should contribute some as well:All decades have a pair of switches in parallel-Switch contacts before cleaning- tarnished silver:the rotating contact is a number of silvered "leaf springs" to keep force on the contactsInteresting trimming scheme for the oil tanked resistors. Little solder blobs were added to the resistance wire to fine tune the resistance:Here some of the coating had come off the blob:Interesting fuse I had not seen before:

author: Kleinstein
author_rank: Super Contributor
timestamp: May 09, 2019, 05:44:04 am
content: Quote from: Crossphased on May 09, 2019, 05:19:34 amFor the bootstrapping I would use Zener diodes (maybe LEDs) instead of R13/R14 and BJTs instead of the FETs. BJTs are more predictable (no large threshold variations). The shown circuit only does partial bootstrapping and give quite some uncertainty in the voltage.

author: MiDi
author_rank: Frequent Contributor
timestamp: May 09, 2019, 06:32:24 am
content: Quote from: 3roomlab on May 09, 2019, 04:27:14 amNear to black magicAn ideal junction itself cannot generate t-emf.A "junction"/jumper as shown can only generate t-emf when there is a temperature difference between both ends.The principle of the Seebeck effect is described in detail e.g. on Wikipedia.Bit of black magic is revealed inKeithleys Low level measurement Handbook p. 116.

author: maat
author_rank: Regular Contributor
timestamp: May 09, 2019, 07:39:26 am
content: This is the schematic of my buffer. I needed to brush it up a little to match the new symbols in KiCAD 5.1. I will need to update the PCB as well, then I will put it all on Github. Probably tomorrow or so.The idea is, that the zener diodes will bias the op amp supply around the output voltage. The supply will always be about 6.2 V - 0.7 V (one diode drop due to the transistors) = 5.5 V above and below the output. This ensures good performance of the op amp, which is spec'ed at +-5V. This will require +- 18V supply rails to make sure we will not rail at 10 V (10 V + 6.2 V = 16.2V). The bootstraping has two positve side effects. For one, it increases the output voltage range. Second it increases the CMRR which would otherwise introduce an error. Since the the minimum of the op amp is 120 dB (1 ppm), this would degrade the Fluke 720A. In this design it is not neccessary to check the op amp. The common mode voltage stays the same throughout the whole range. You might want to select the op amp for input bias current though.The PCB I did fits into one of those RND aluminum enclosures:https://www.distrelec.de/en/metal-enclosure-64x58x35mm-aluminium-alloy-ip65-rnd-components-rnd-455-00367/p/30064588. I will post some pictures later.EDIT: Fixed the circuit. The external sample and hold capacitors should be connected to the negative opamp supply

author: WillTurner
author_rank: Regular Contributor
timestamp: May 09, 2019, 08:11:02 am
content: Just a reminder that Jim Williams (et al.) discussed buffer circuits extensively in Appendix C ("Verifying Data Converter Linearity to 1ppm") of AN-86 ("A Standards Labs Grade 20-Bit DAC with0.1ppm/C Drift" January 2001). Starting with an LTC1152/LT1010 op amp and driver, he adds some simple trim and monitoring.

author: 3roomlab
author_rank: Frequent Contributor
timestamp: May 09, 2019, 09:30:56 am
content: Quote from: MiDi on May 09, 2019, 06:32:24 amyes black magic like harry potters poop !harry potter must be good friends with TI / microchipI found 2 of their poops, now everyone can smell it and cast magic spells (hopefully)the description of thermal emf across the smd is really good read.and the microchip section on leakage resistance, I think you could literally count Gohm squares to estimate leakage

author: Crossphased
author_rank: Regular Contributor
timestamp: May 10, 2019, 04:37:16 am
content: Quote from: maat on May 09, 2019, 07:39:26 amAwesome thanks very much for this maat!!

author: Crossphased
author_rank: Regular Contributor
timestamp: May 10, 2019, 06:30:49 am
content: I've got a quick question about protection for the buffer. In the past I've been known to absent mindedly connect things to pieces of equipment before applying power to the unit. I've tried to make it a point to put some kind of protection to guard against my forgetfulness. Would it be appropriate to put something like ADG1221 or ADG5419 on the input to protect against this sort of thing? Perhaps "bootstrapping" the digital input to the same level as guard voltage, so signal cant leak? Or would there be a better method to protect the opamp from voltages applied when its off?Cheers!

author: Crossphased
author_rank: Regular Contributor
timestamp: May 10, 2019, 06:59:48 am
content: Something like this:

author: maat
author_rank: Regular Contributor
timestamp: May 10, 2019, 07:17:18 am
content: Quote from: Crossphased on May 10, 2019, 06:30:49 amI absolutely recommend against any analog switch. Usually they bring more problems to the table than they solve. Unless you need to switch something really fast or really often. You *could* use a bistable relay, but I would say put 1k in series and you should be fine up to 10 V (low impedance). Given that you connect the buffer to a KVD they output impedance of the divider is large enough to apply any sensible voltage to the divider and not harm the buffer.If you are utterly paranoid put in the 1k and and a BAV199 to both rails (or two 2N3904, shorting B-C, one to each rail) behind the resistor at the expense of additional leakage. But that is overkill in my oppinion.

author: maginnovision
author_rank: Super Contributor
timestamp: May 10, 2019, 07:28:57 am
content: The switch also adds another 10-40pA leakage. Maybe try the simplest version and double check your setup. If it works and you're happy then you modify.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 10, 2019, 07:53:56 am
content: A series resistor and maybe a series inductor (may help with short pulses like ESD and maybe RF interference) is already a good first protection.For input current protection one could mimic the protection inside chips like the DG508:2 JFETs with a resistor in between can be used as an effective bidirectional current limit. One may even get them as current limiting diode (though rare and thus likely expensive). For higher voltage (up to some 600 V) one could use depletion mode JFETs like BSP135).The diodes (e.g. BAV199) could be bootstrapped from the output to reduce the voltage over the diodes to near zero. A small capacitor to ground can also help to catch some ESD and also reduce EMI (in both directions). With AZ OP is may be a good idea to have some filtering at the input, as there are some RF signals coming out and the returned RF could effect the bias and maybe offset.

author: MiDi
author_rank: Frequent Contributor
timestamp: May 10, 2019, 08:25:23 am
content: Quote from: Kleinstein on May 10, 2019, 07:53:56 amNot only for RF, the charge injection to inputs of AZ OP from itself can affect offset-voltage.A low enough input impedance at chopping frequency is needed to get low offset-voltage.Quote from: chuckb on January 15, 2019, 04:45:45 pm

author: razvan784
author_rank: Regular Contributor
timestamp: May 10, 2019, 09:25:59 am
content: I don't think you need a guard trace around the inverting opamp input, because that is relatively low impedance - it would needlessly complicate the layout. You absolutely need one around the + input though.Re: protection, maybe a low voltage GDT right at the input, followed by a resistor to limit the current to whatever the opamp protection diodes can tolerate. Note that the LTC1052 lacks such a specification, unlike more modern opamps. It even warns you to never exceed the supply voltages or risk "destructive latchup". As I understand the wording in the datasheet, protection diodes (internal or external) are not enough to prevent this.

author: Andreas
author_rank: Super Contributor
timestamp: May 10, 2019, 07:49:58 pm
content: Quote from: maat on May 09, 2019, 07:39:26 amHellois C9 + C10 really connected to common ground?All cirquits that I have seen connect the capacitors to pin 4 of the LTC1052with best regardsAndreas

author: maat
author_rank: Regular Contributor
timestamp: May 10, 2019, 09:01:40 pm
content: Quote from: Andreas on May 10, 2019, 07:49:58 pmOh yes, indeedThis was a remnant of an older verison, I used to buffer a DAC, that did not go to GND. Thanks a lot for pointing it out. I fixed my other post.

author: Crossphased
author_rank: Regular Contributor
timestamp: May 11, 2019, 06:17:27 am
content: Quote from: Kleinstein on May 10, 2019, 07:53:56 amThank you Kleinstein!Is this in accord with what you had in mind? Are these part values appropriate?

author: Kleinstein
author_rank: Super Contributor
timestamp: May 11, 2019, 08:16:24 am
content: The mmbf4393 is a possible choice. Other types are also possible, like mmbfJ201. The resistor may need to be a little larger for a lower current.A 10 nF capacitor looks rather large to me. I would more expect some 100-500 pF, with possibly a 2nd cap from before the fets.Depending on the inductor type used, it may want a parallel resistor for dampening.There are still not diodes to sink any current exceeding the supply of the OP, so the current limiting is of limited value unless the current is set very low, to a level the LTC1052 can tolerate.

author: Crossphased
author_rank: Regular Contributor
timestamp: May 11, 2019, 06:59:15 pm
content: Quote from: Kleinstein on May 11, 2019, 08:16:24 amThanks very much for your feedback Kleinstein, very much appreciated. How does this look-

author: Kleinstein
author_rank: Super Contributor
timestamp: May 11, 2019, 07:12:29 pm
content: The BAV99 is not really low leakage - the low leakage (but high forward voltage) diode type is BAV199. Ideally one would have diodes in both directions, like 2 BAV first and than bootstrapped followed by BAV99 to the supplies (or lower).The JFET part mainly makes sense with a diode behind. Without the diodes the current would likely need to be set much lower (e.g. 10 to 50 K resistor).

author: Crossphased
author_rank: Regular Contributor
timestamp: May 11, 2019, 10:01:44 pm
content: Quote from: Kleinstein on May 11, 2019, 07:12:29 pmGot it. Just going to increase the resistor size to 20K. Did the math and for every pA of bias current, the 20K only drops 20nV. So even at 10pA bias, thats only 200 nV so that sounds good to me!For the BAV199 alternative, is this what you were thinking of with diodes to both rails?I think it will be easier to guard the input better with just the jfets and not the BAV199

author: 3roomlab
author_rank: Frequent Contributor
timestamp: May 12, 2019, 05:28:16 am
content: I ran 2 simulations out of curiosityboth using 100pf 2kv/8kv model @ 500R (not 1.5kohm)the ESD is precharged @ C17 and released by S1the first is jfet fronted (note IPP to IP2 path J1/J2)the 2nd is just 2 stages of 500pfbefore this, I had tried w/o TVS, the surge appears to be too great w/o TVSthe 2 stage 500pf seem to work better (simulation wise). the 2 stage caps appear to have 4x less surge seen by the opamp.one depends on current limiting, the other depends on current absorption.for those who wish to try, the TVS lib/txt is attached(as you can see the mess, I tried a few TVS models from diff mfr. every model have different response)

author: Crossphased
author_rank: Regular Contributor
timestamp: May 12, 2019, 08:23:45 pm
content: Quote from: 3roomlab on May 12, 2019, 05:28:16 amInteresting,I'm going to try the sim myself. I'm not as worried about ESD, more concerned about 10-15V applied to the input with no power to opamp. I have a question- what is the purpose of putting C12+19, C20+C21 in Series? Increase voltage capacity? Also I'm going to try simulation with jfet current limiting & 2 stage caps instead of no caps for the jfet current limiting. Also how come only 26nH for the choke?Thank you very much for posting the simulation it is very kind and helpful of you

author: 3roomlab
author_rank: Frequent Contributor
timestamp: May 13, 2019, 06:28:28 am
content: the 68n is modelled with 440G leakage resistance. I wanted to see how bad is leakage effects. vs C0GI left many idle components around in the picture, so some/most are remnants of simulation versions

author: splin
author_rank: Frequent Contributor
timestamp: May 16, 2019, 12:03:07 am
content: I would use an OPA140 rather than the LTC1052 for several reasons:1) 0.1 to 10 Hz noise 250nVpp v 1500nVpp.1 to 1Hz noise (estimated) 140nVpp v 500nV2) Ibias max (typ) @ 25C 10pA (.5pA) v 30pA (1pA)3) Cost. (1 off) $3.29 v $8 to $10 + capacitors + protection4) I/p protection - easy v tricky(er)5) No charge injection Ibias noise/artifacts which could disturb other connected instruments.The disadvantages:a) Offset voltage drift with temperature - 1uV/C (.35uV typ) v 50nV/C (10nV/K typ).b) Ibias for temperatures above 35C (doubles with each 10C rise).c) Avol min (typ) 120dB (126dB) v 120dB (150dB)CMRR is similar for both at 120dB. Avol and CMRR min for both amps is too low to be used without bootstrapping.Voffset is not as good for the OPA140 but you will have to zero out any measurements anyway as the LTC1052's maximum offset is 5uV which is too high. Zeroing is also required to remove thermal EMFs which will be a problem for sub-ppm measurements.I would expect the thermal EMFs to vary as much with temperature as the OPA140's drift so if your environment is not sufficiently stable you will need to re-zero periodically whichever buffer amp you use. That should be quite easy unless you are running long term automated measurements.Ibias could be a problem for both amps but especially the LTC1052 - selecting amps for low Ibias is not likely to be affordable at $8+ a pop. Bias compensation may well be required, but straightforward if the buffer is bootstrapped. Either way it does mean having to measure the bias current (easy enough with a capacitor).