diff --git a/README b/README
deleted file mode 100644
index 3b18e51..0000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-hello world
diff --git a/README.txt b/README.txt
index 6d5b6b2..20a3933 100644
--- a/README.txt
+++ b/README.txt
@@ -1,3 +1,12 @@
+
+###### Introduction ######
+Hupa is an Rich IMAP-based Webmail application written in GWT.
+
+Hupa has been entirely written in java to be coherent with the language used in the James project.
+It has been a development reference using GWT good practices (MVP pattern and Unit testing)
+
+It is ready for reading, sending,  and managing messages and folders, but it still lacks of many features email clients nowadays have.
+
 ###### Bulding ######
 Hupa use maven2 as build tool. To build hupa download maven2 (http://maven.apache.org), unpack maven2 and install it.
 After that change to hupa directory and execute the following cmd:
@@ -5,7 +14,7 @@
 
 ###### Configuring server side  ########
 Hupa uses a properties file to know the IMAP and SMTP servers configuration.
-There is an example configuration file in 'server/src/main/webapp/WEB-INF/conf/config.properties'
+There is an example configuration file in 'hupa/src/main/webapp/WEB-INF/conf/config.properties'
 
 - You can set your configuration parameters in either of these files:
   $HOME/.hupa/config.properties
@@ -22,36 +31,18 @@
 
 If you prefer to use any other servlet container you can deploy the provided .war file in it.
 
-###### Hupa and GMail #################
-By default hupa is configurated as a gmail imap/smtp client, use any gmail valid account to login.
-NOTE: that previously to use a gmail account via imap you should enable imap in your gmail account.
+###### Hupa and IMAP/SMTP servers  #################
+Hupa is able to discover most of the imap/smtp configuration based on the email domain part.
+When you are prompted to login, type your email address and wait few seconds, if you click on the 
+gear button you can see the configuration discovered by Hupa, you can modify it if it does not match
+your email provider configuration. Then type your inbox password and you will be logged into your 
+email provider servers.
 
-###### Demo Mode #################
-In demo mode it is not necessary any imap or smtp server.
-A bunch of example messages and folders are shown to the user to be manipulated.
-Almost every hupa feature work in demo mode.
-
-To enable demo mode set 'IMAPServerAddress=hupa.demo' or start your servlet container with the 
-parameter 'hupa.demo'
-
-$ java -Dhupa.demo -jar target/hupa-${version}.war
-
-To login into the system in this mode use the user 'demo' with password 'demo'  
+Hupa is compatible with most email providers, gmail, yahoo, hotmail, outlook, exchange, james, etc.
 
 ###### Eclipse GWT Plugin notes ################
 - Hupa uses maven to be built, before inporting the project, you shoul install m2eclipse 
 and google plugins, then go to Import -> New maven project and select the modules:
-shared, mock, server, widget and client.
+shared, mock, server, widgets, client and hupa.
 
 - To run hupa in hosted mode, select: Run as -> (Google) Web application.
-  * May be you need to specify the appropriate hupa configuration file if you do not want to
-    run it in demo mode.
-    If you don't have a suitable file in $HOME/.hupa or /etc/default/hupa you have to add the
-    following line to the "vm argument" in the Run configuration:
-    -Dhupa.config.file=folder_to_hupa_dources/server/src/main/webapp/WEB-INF/conf/config.properties 
-
-- If you compile hupa with google's eclipse plugin and you get the message:
-  >> 'GWT module hupa needs to be (re)compiled, please run a compile or use the Compile/Browse button in hosted mode'
- 
-  Configure the plugin to compile only the 'Hupa' module.
-  Properties -> Google -> Web Toolkit -> Entry Point Modules -> Hupa - org.apache.hupa 
