Hi Karl, Yes, am now getting the dev mail ;=)) thanks... Well, as you point out the windows suffix of .EXE, and the fact that each configuration built will be in a different sub-folder, Release, Debug, etc,... and that can be Bin\Release, depending on some cmake options... **AND** the debug convention that appends a 'd' to the name, so that would be edbrowse-jsd.exe... all make it difficult to copy a binary by name to another name... It can be done, is done, but lots of cmake code to get it right... messy... And while I am aware that the binary name, argv[0], is sometimes used in unix to switch internal functionality, that is never used in Windows... Well, some die-hard unix guru, pushed to build in windows, might do it, to sort of keep the unix look/feel, that [s]he just can not live without... but that would be quite unique to WIN32... It is of course quite common to have command line options that signals entirely changed modes, like your testsock, with l=listen, c=connect, ... like say 7z, which has a,b,d,e,l,t,u,x, signalling quite different functions... And less common would be to supply say batch files to handle the difference, like say a 'edbrowse-js.bat' that then ran 'edbrowse --runjs', but many windows user, like me, write those for themselves, and do not expect them in a distribution... like I could write a runjs.bat that did the above if it was something I frequently needed... And I think I would be quite SURPRISED if what I know, can see is exactly the same binary - ( edbrowse.exe === edbrowse-js.exe ) - ran differently!!! Of course, as a developer/programmer I would correctly guess that it was using using argv[0] switching... but being the SAME binary I would expect the same action... But as always, just a windows kids perspective ;=)) Regards, Geoff.