updated to Eigen