diff --git a/common/track b/common/track
index 615286a..6b47826 100644
--- a/common/track
+++ b/common/track
@@ -16,16 +16,27 @@
 
 function track(){
 # Tracks events by sending HTTP GET requests with query strings to a web server
-# - First argument: event name
-# - Rest of arguments (if they exist): tuples of operation-value-comment-tags
-#   - operation: particular operation in an event (if it is not provided, the operation will be named after the event)
-#   - value: particular value for an operation
-#   - comment
-#     - none will be passed when empty
-#     - will be parsed to replace spaces by underscores
-#   - tags
-#     - none will be passed when empty
-#     - will be parsed to replace spaces by ~
+# Input:
+# - First argument (mandatory): event name
+# - Rest of arguments:
+#   - If they exist, they correspond to tuples of operation-value-comment-tags
+#     - operation: particular operation in an event
+#     - value: particular value for an operation
+#     - comment
+#       - none will be passed when empty
+#       - will be parsed to replace spaces by underscores
+#     - tags
+#       - none will be passed when empty
+#       - will be parsed to replace spaces by ~
+#   - If no arguments:
+#     - operation: like event
+#     - value: ""
+#     - comment: ""
+#     - tags: ""
+# Output:
+#   Sends as many HTTP requests as operations with the following query string
+#     "&{OSM_TRACK_INSTALLATION_ID}&{TIMESTAMP}&{EVENT}&{OPERATION}&{VALUE}&{COMMENT}&{TAGS}"
+#
 
     if [ $# -lt 1 ]; then
         echo "Unexpected error in track function. At least 1 arg is expected: event"
@@ -83,5 +94,3 @@
     fi
     return 0
 }
-
-
