I uploaded updated plugins to ftp://lucky.syr.edu/4plugins. 4UTILS and SYSUTILS have definitely changed (some details below) and CONUTILS may have changed (though I couldn't remember what changed). Some of the changes are ... 4UTILS: Added @SUM and @AVG, both requiring spaces as separators and setting the new variable _N. Added @EXECW ... a wrapper for "START /WAIT" that returns %? Added @FACT[N] and @STIRLING[N] ... factorial and Stirling's approx Moved @PSET to SYSUTILS SYSUTILS: Added @PSET (was in 4UTILS) @PSET manipulates the environment of another process; may be of some use with _PPID (parent process) Replaced _MOUSE with _MOUSEX and _MOUSEY (mouse pointer position) Added @PID[<case-insensitive module name substring>] ... returns PID of first matching process ... could change it to wildcard or regex, I suppose. Added @CWD[<pid>] ... current working directory of process <pid> ... probably not much use for it in TCC, but maybe there are some TCMD tricks one could do with it ... will not work (on processes you don't own maybe more) without sufficient privileges Changed @PROCTIME to allow module_name_substrings (first match) as well as PIDs ... internally just like @PROCTIME[%@PID[string]...] I removed the consideration of the environment variable SE_DEBUG_NAME. All functions that read/write the memory space of other processes (@PSET, @PID, @PROCTIME) now automatically (try to) enable (and later disable) the SeDebugName privilege.