TODO: call setdefaulttimeout with explicit timeout parameter