columnbyindex is now a vector which holds the only copy of the columndefinition. this both for performance and for the fact that else the by reference methods cant work