matcher and creator for fun structure type