valgrind says "All heap blocks were freed -- no leaks are possible" :D