enchance struct