Reordered the structs, may be worse may be better.