Normally I wouldn't do such a thing, but the first struct is to be tranmitted across the net. On the local machine the struct would then be added to an array and sorted in the most awkward way possible. By adding a boolean and a pointer to the base struct, I can quickly manipulate while the same time being sure each struct is only used once.