SemiGeneric and performance improvements