database like progress has triggers...so when a table gets new data it will spring your procedure into life. good thing about databases is data integrity...if you want to have constraints on a field (say command name), then once you setup your database you don't need extra code...you want to fish out a command used ages ago, no prob, just look in the logs/history table...you want to have distributed architecture with a redundant (live) server, done. If you want no frills RPC then use RPC module, why bother with jabber bloat. no offense to jabber, it's good for what it was made for.