Struct Refactor