More struct refactoring - untested for sizes