diff --git a/contrib/spoa_server/README b/contrib/spoa_server/README
index 7e376ee..57ec9c4 100644
--- a/contrib/spoa_server/README
+++ b/contrib/spoa_server/README
@@ -1,12 +1,20 @@
-A Random IP reputation service acting as a Stream Processing Offload Agent
---------------------------------------------------------------------------
+Multi script langyage Stream Processing Offload Agent
+-----------------------------------------------------
 
-This is a very simple service that implement a "random" ip reputation
-service. It will return random scores for all checked IP addresses. It only
-shows you how to implement a ip reputation service or such kind of services
-using the SPOE.
+This agent receive SPOP message and process it with script languages. The
+language register callback with a message. Each callback receive the list
+of arguments with types according with the language capabilities. The
+callback write variables which are sent as response when the processing
+is done.
 
 
+  Compilation
+---------------
+
+Actually, the server support Lua and Python. Type "make" with the options:
+USE_LUA=1 and/or USE_PYTHON=1.
+
+
   Start the service
 ---------------------
 
@@ -19,70 +27,47 @@
         -d                  Enable the debug mode
         -p <port>           Specify the port to listen on (default: 12345)
         -n <num-workers>    Specify the number of workers (default: 5)
-
-Note: A worker is a thread.
-
-
-  Configure a SPOE to use the service
----------------------------------------
+        -f <file>           Load script according with the supported languages
 
-All information about SPOE configuration can be found in "doc/SPOE.txt". Here is
-the configuration template to use for your SPOE:
+The file processor is recognized using the extension. .lua or .luac for lua and
+.py for python. Start example:
 
-    [ip-reputation]
+    $> ./spoa -d -f ps_lua.lua
 
-    spoe-agent iprep-agent
-        messages check-client-ip
+	 $> ./spoa -d -f ps_pyhton.py
 
-        option var-prefix iprep
 
-        timeout hello      100ms
-        timeout idle       30s
-        timeout processing 15ms
+  Configure
+-------------
 
-        use-backend iprep-backend
+Sample configuration are join to this server:
 
-    spoe-message check-client-ip
-        args src
-        event on-client-session
+  spoa-server.conf      : The HAProxy configuration file using SPOE server
+  spoa-server.spoe.conf : The SPOP description file used by HAProxy
+  ps_lua.lua            : Processing Lua example
+  ps_python.py          : Processing Python example
 
 
-The engine is in the scope "ip-reputation". So to enable it, you must set the
-following line in a frontend/listener section:
+  Considerations
+------------------
 
-    frontend my-front
-        ...
-        filter spoe engine ip-reputation config /path/spoe-ip-reputation.conf
-	....
+This server is a beta version. It works fine, but some improvement will be
+welcome:
 
-where "/path/spoe-ip-reputation.conf" is the path to your SPOE configuration
-file. The engine name is important here, it must be the same than the one used
-in the SPOE configuration file.
+Main process:
 
-IMPORTANT NOTE:
-    Because we want to send a message on the "on-client-session" event, this
-    SPOE must be attached to a proxy with the frontend capability. If it is
-    declared in a backend section, it will have no effet.
+ * Improve log management: Today the log are sent on stdout.
+ * Improve process management: The dead process are ignored.
+ * Implement systemd integration.
+ * Implement threads: It would be fine to implement thread working. Shared
+   memory is welcome for managing database connection pool and something like
+   that.
+ * Add PHP support and some other languages.
 
+Python:
 
-Because, in SPOE configuration file, we declare to use the backend
-"iprep-backend" to communicate with the service, you must define it in HAProxy
-configuration. For example:
-
-    backend iprep-backend
-        mode tcp
-	timeout server 1m
-	server iprep-srv 127.0.0.1:12345 check maxconn 5
-
-
-In reply to the "check-client-ip" message, this service will set the variable
-"ip_score" for the session, an integer between 0 and 100. If unchanged, the
-variable prefix is "iprep". So the full variable name will be
-"sess.iprep.ip_score".
-
-You can use it in ACLs to experiment the SPOE feature. For example:
-
-    tcp-request content reject if { var(sess.iprep.ip_score) -m int lt 20 }
+ * Improve repporting: Catch python error message and repport it in the right
+   place. Today the error are dumped on stdout. How using syslog for logging
+   stack traces ?
 
-With this rule, all IP address with a score lower than 20 will be rejected
-(Remember, this score is random).
+Maybe some other things...
