update for eigen