faster parallel matching

still needs work, also contains lots of profiling
junk