cross product doesn't use a concat
added template removal framework
why the fuck not committed bruh