add guards in config.h to avoid multiple inclusions