rearranged struct fields