After reloading my machine, the following bit of code I have used often enough to get SayTools to speak extra info for me, is now not working: Type t = Type.GetTypeFromProgID("Say.Tools"); object oST = Activator.CreateInstance(t); object[] aParams = { stIn }; t.InvokeMember("Say", BindingFlags.InvokeMethod, null, oST, aParams); The specific bit of code that seems to be the issue is this one: Type t = Type.GetTypeFromProgID("Say.Tools"); Basically, t is being returned as a nul object, and I don't seem to be able to run a regsvr32 on SayTools.dll itsself since I sort of assume there's something I haven't installed on the machine as of yet that it needs to reference/make use of, but not too sure what that could be since have jaws installed here, have loaded various versions of sapi SDKs - both 4 and 5, and other talking software seems to be working. I am also making sure there's a copy of SayTools.dll in the working folders etc., but haven't actually made any project references to it, but this worked in the past. Any ideas/thoughts? Stay well Jacob Kruger Blind Biker Skype: BlindZA '...fate had broken his body, but not his spirit...' __________ Information from ESET NOD32 Antivirus, version of virus signature database 5196 (20100614) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com