revised functional.h and added demangler.h