added missing include guards