unstable: change from ublas to eigen