new TODO item
optimized matching by addition of more caching and elimination of much array copying