final turned in, with some test comments still left in, argh