all done for now, except valgrind