factory: case insensitive id name support