starting to split common logic into base class
implement most of varlen value vector functionality, minor cleanup of tdd tags