passes 53 tests--need to finish remaining 40