ComponentMatch class

can return a match as a struct