this guard should be before the include