rewrote eval, getc, knotVec