change substructs from pointer to separate Valid bool use