> I don't use stringprep in all constructors in the jid class of agsXMPP > because stringprep is a heavy process and needs lots of cpu power. Caching the results from stringprepping nodes, domains, and resources should overcome most of the performance problems for that, and get you a safe Jid implementation at least. cheers, Remko