updated; still a few tests to go