fix most unit test, need to figure out futures