Refactored stucts