 			callback ok: false, reason: 'Not a bt task'
 			return
 
-		# XXX: check timeout and @id?
-		url = "/interface/fill_bt_list?callback=fill_bt_list&tid=#{task.id}&infoid=#{task.bt_hash}&g_net=1&p=1&uid=#{@id}&noCacheIE=#{current_timestamp()}"
-		@set_page_size_in_cokie 9999
-		@get url, ({text}) =>
-			result = @parse_fill_bt_list text
-			{ok, files} = result
-			if ok
-				unless files.length == 1 and files[0].name == task.name
-					for file in files
-						file.dirs.unshift task.name
-#						file.dirname = file.dirs.join '/'
-						file.full_path = task.name + '/' + file.full_path
-			callback result
+		@with_id (id) =>
+			url = "/interface/fill_bt_list?callback=fill_bt_list&tid=#{task.id}&infoid=#{task.bt_hash}&g_net=1&p=1&uid=#{id}&noCacheIE=#{current_timestamp()}"
+			@set_page_size_in_cokie 9999
+			@get url, ({text}) =>
+				result = @parse_fill_bt_list text
+				{ok, files} = result
+				if ok
+					unless files.length == 1 and files[0].name == task.name
+						for file in files
+							file.dirs.unshift task.name
+#							file.dirname = file.dirs.join '/'
+							file.full_path = task.name + '/' + file.full_path
+				callback result
 
 ################################################################################
 # export

					@password = password
					@auto_login callback


	#######
	# add #


	get_id_from_cookie: ->
		@get_cookie('xunlei.com', 'userid')

	login_with_verification_code: (username, password, verification_code, callback) ->
		@last_username = username
