use eigen2 if available