almost makes it through valgrind, no memory leaks though