add valgrind to monitor memory leak