Redesign struct