add #include protection
designing