updated for operation under Linux