                #^{:static true} [v3allb [String String String "[Ljava.lang.Object;"] "[Ljava.lang.Object;"]
                ]))
 
-;; # Defaults:
-;; **TransportMappingProtocol:** UDP
-;;
-;; **UDP-PORT get communication** 161
 
+;; # SNMP version 2
+;; ---
 
 
 (defn -v2
-  "SNMP v2c
-   arguments: host, community-name, object-identifier
-   return: first object"
+  "**v2**: usefull in case to have a single oid and want to return single string value
+> [host, community-name, object-identifier] => String: first object"
   [h c oid]
   (first (getv2 h c [oid]))
   )
 
 (defn -v2all
-  "SNMP v2c
-
-   arguments: host, community-name, object-identifier
-
-   return: objects array"
+  "**v2all**: in case to have a single oid and want to return a array of string values
+> [host, community-name, object-identifier] => [String]: all objects
+"
   [h c oid]
   (to-array (getv2 h c [oid]))
   )
 
 (defn -v2allb
-  "SNMP v2c
-   arguments: host, community-name, array object-identifiers \\
-   return: objects array"
+  "**v2allb**: we pass an array of oids to obtain an array of values according to
+> [host, community-name, array object-identifiers] => [String]: objects array"
   [h c oid]
   (to-array (getv2 h c oid))
   )
 
+;; # SNMP version 3
+;; ---
 
 (defn -v3
-  "SNMP v3
-
-   arguments: host, user-name, user-password, object-identifier
-
-   return: first object"
+  "**v3**: usefull in case to have a single oid and want to return single string value
+> [host, community-name, object-identifier] => String: first object"
   [ip u p oid]
   (first (getv3 ip u p [oid])))
 
 (defn -v3all
-  "SNMP v3
-   arguments: host, user-name, user-password, object-identifier
-   return: objects array"
+    "**v3all**: in case to have a single oid and want to return a array of string values
+> [host, community-name, object-identifier] => [String]: all objects
+"
   [ip u p oid]
   (to-array (getv3 ip u p [oid])))
 
  (defn -v3allb
-  "SNMP v3
-   arguments: host, user-name, user-password, array object-identifiers
-   return: objects array"
+   "**v3allb**: we pass an array of oids to obtain an array of values according to
+> [host, community-name, array object-identifiers] => [String]: objects array"
   [ip u p oid]
   (to-array (getv3 ip u p oid)))
+
 
 (comment
   (-v2 "localhost" "public" "1.3.6.1.2.1.1.5.0")

  (-v3all "127.0.0.1" "juanv3" "comomolalagramola" "1.3.6.1.2.1.1.5.0")
  (-v3allb "127.0.0.1" "juanv3" "comomolalagramola" ["1.3.6.1.2.1.1.5.0" "1.3.6.1.2.1.1.6.0"] )
 )

;; # GEN-CLASS to use from java environment once we have the standalone library
;;
;; ### Defaults:
;; **TransportMappingProtocol:** UDP
;;
;; **UDP-PORT get communication** 161
(ns ew_snmp.SNMPApi
  (:use [ew_snmp.v2 :only [ getv2]]
        [ew_snmp.v3 :only [ getv3]])
