diff --git a/R/generateWT.R b/R/generateWT.R
index 595a005faa4eea3f23b854f31431fc0ddd04d4bf..52811193a2e350977bf663f2863b411183958e2c 100644
--- a/R/generateWT.R
+++ b/R/generateWT.R
@@ -28,55 +28,76 @@
 #
 #
 
-.generateWT <- function(model, react = NULL, lb = NULL, ub = NULL, 
-					algorithm="fba", ...) {
+.generateWT <- function(model, react = NULL, lb = NULL, ub = NULL, ...) {
 
-    ca <- match.call()
-    
-    if ("solver" %in% names(ca)) {
+#    ca <- match.call()
+#    
+#    if ("solver" %in% names(ca)) {
 
-        # It is necessary to test, whether argument solver has a variable,
-        # or not. If it is a variable, it needs to be evaluated.
-        testslv <- tryCatch(eval(parse(text = ca["solver"])),
-                            error = function(e) e)
-        if (is(testslv, "simpleError")) {
-            slv <- as.character(ca["solver"])
-        }
-        else {
-            slv <- as.character(testslv)
-        }
-        
-    }
-    else {
-        slv <- SYBIL_SETTINGS("SOLVER")
-    }
+#        # It is necessary to test, whether argument solver has a variable,
+#        # or not. If it is a variable, it needs to be evaluated.
+#        testslv <- tryCatch(eval(parse(text = ca["solver"])),
+#                            error = function(e) e)
+#        if (is(testslv, "simpleError")) {
+#            slv <- as.character(ca["solver"])
+#        }
+#        else {
+#            slv <- as.character(testslv)
+#        }
+#        
+#    }
+#    else {
+#        slv <- SYBIL_SETTINGS("SOLVER")
+#    }
+	
+	# setting ... parameters into list
+	ca <- list(...)
+	if(is.null(ca$solver)){
+		ca$solver <- SYBIL_SETTINGS("SOLVER")
+	}
 
-    me <- checkDefaultMethod(solver = slv,
+    me <- checkDefaultMethod(solver = ca$solver,
                              method = "NA",
                              probType = "lp",
                              loadPackage = FALSE)
     
+    ca$solver <- me[["sol"]]
+    ca$method <- me[["met"]]
+    ca$solverParm <- as.data.frame(NA)
+    
+    ca$object <- model
+    if(is.null(ca$algorithm)) ca$algorithm <- "fba"
+    ca$react <- react
+    ca$ub <- ub
+    ca$lb <- lb
 
     if (is(react, "list")) {
         message("calculating fba solutions ... ", appendLF = FALSE)
-        suppressMessages(
-            tmp <- optimizer(model, algorithm = algorithm,
-                             lpdir = rep("max", length(react)),
-                             react = react, lb = lb, ub = ub, verboseMode = 0, 
-                             solver = me[["sol"]], method = me[["met"]],
-                             solverParm = as.data.frame(NA), ...)
-        )
+        suppressMessages({
+        	ca$lpdir <- rep("max", length(react))
+        	ca$verboseMode <- 0
+        	
+        	tmp <- do.call(optimizer, ca)
+#            tmp <- optimizer(model, algorithm = algorithm,
+#                             lpdir = rep("max", length(react)),
+#                             react = react, lb = lb, ub = ub, verboseMode = 0, 
+#                             solver = me[["sol"]], method = me[["met"]],
+#                             solverParm = as.data.frame(NA), ...)
+        })
         message("OK")
     }
     else {
-        tmp <- optimizeProb(model,
-                            react = react, lb = lb, ub = ub,
-                            retOptSol = FALSE,
-                            algorithm = algorithm,
-                            lpdir = "max",
-                            solver = me[["sol"]],
-                            method = me[["met"]],
-                            solverParm = as.data.frame(NA), ...)
+    	ca$retOptSol <- FALSE
+    	ca$lpdir <- "max"
+    	tmp <- do.call("optimizeProb", ca)
+#        tmp <- optimizeProb(model,
+#                            react = react, lb = lb, ub = ub,
+#                            retOptSol = FALSE,
+#                            algorithm = algorithm,
+#                            lpdir = "max",
+#                            solver = me[["sol"]],
+#                            method = me[["met"]],
+#                            solverParm = as.data.frame(NA), ...)
     }
 
     return(tmp)
diff --git a/man/sysBiolAlg_fbaEasyConstraint-class.Rd b/man/sysBiolAlg_fbaEasyConstraint-class.Rd
index 956f2a04c10e4daecf833c30c6e0f45b6db84901..081bc5a432bed65324561d7b625ee2c6f8757059 100644
--- a/man/sysBiolAlg_fbaEasyConstraint-class.Rd
+++ b/man/sysBiolAlg_fbaEasyConstraint-class.Rd
@@ -152,7 +152,7 @@
   showClass("sysBiolAlg_fbaEasyConstraint")
   
   # see package vignette for second example with more comments:
-  vignette("sybil")
+  #vignette("sybil")
   
   #load model
   data(Ec_core)