this version works and uses redef of LinAlg<int> class