diff --git a/DESCRIPTION b/DESCRIPTION
index 925fa1fbb0be7001ad534f7ffbfa5bc1ffd63ec6..c5bb2bf23e76aee0739aa2ef861f73e8aee3a563 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -9,3 +9,4 @@ License: MIT
 Encoding: UTF-8
 LazyData: true
 RoxygenNote: 6.0.1
+Imports: RCurl
diff --git a/R/class.R b/R/class.R
index b8c5e92b3d3c5181942bca5fe67ea535a9cff44b..9cec4ffdebea12a14457c55a2c1fa4cf30a73146 100644
--- a/R/class.R
+++ b/R/class.R
@@ -5,12 +5,38 @@
 setClass("Mediawikir", representation(url = "character", user_name = "character", auth_token = "character"))
 
 setGeneric("connect", function(.Object, pass){})
-#'Connects to mediawiki instance and gets token (to be called by constructor)
-#'
-setMethod("connect", "Mediawikir", function(.Object, pass){
-  library("RCurl")
-  paste("connecting : ", .Object@user_name, "/", pass)
-})
+  #'Connects to mediawiki instance and gets token (to be called by constructor)
+  setMethod("connect", "Mediawikir", function(.Object, pass){
+    #get login token
+    query <- httr::POST(.Object@url,
+                        body = list(action="query",
+                                    meta="tokens",
+                                    type="login",
+                                    lgname = .Object@user_name,
+                                    format= "json"))
+    httr::stop_for_status(query)
+    response <- httr::content(query, "parsed", "application/json")
+    print("query 1")#debug
+    token <- response$query$tokens$logintoken
+    print(token)#debug
+    query <- httr::POST(.Object@url,
+                    body = list(action="clientlogin",
+                                username = .Object@user_name,
+                                password = pass,
+                                logintoken = token,
+                                loginreturnurl="http://wiki.lezinter.net",
+                                format= "json"))
+    httr::stop_for_status(query)
+    response <- httr::content(query, "parsed", "application/json")
+    print("query 2")#debug
+    print(response)#debug
+    if(response$clientlogin$status=="PASS"){
+      return(token)
+    }
+    else{
+      return("0")
+    }
+  })
 
 #'Creates a new Mediawikir object instance
 #'
@@ -20,8 +46,8 @@ setMethod("connect", "Mediawikir", function(.Object, pass){
 #'@examples
 #' new("Mediawikir", "http://wiki.example.com", "admin", "theadmin'spassword")
 setMethod("initialize", "Mediawikir", function (.Object, instance_url, user, pass){
-  .Object@url <- instance_url
+  .Object@url <- paste(instance_url,"/","api.php",sep="")
   .Object@user_name <- user
-  .Object@auth_token <- connect(.Object, pass)
+  .Object@auth_token=connect(.Object, pass)
   return(.Object)
 })