add RunCommandWithTimeout()