supporting more part types