changed VI to use stopping epsilon - changed interface to allow setting that epsilon