More sophistication with * and ? within components; performance improvements