use a pointer to the part structure instead of each attribute