some changes in eigen.c