add clearTimeout support