I recently purchased an Arduino Due  development board to control 2.2" TFT color graphic display with ILI9341 driver. 
   First, I use Arduino Uno then I use Arduino Mega for control this display. Between Arduino board (Uno or Mega) I use CD4050 for convert voltage level, because Uno and mega works with 5V logical level and display with ILI9341 driver works with 3.3V. 
   After several attempts I chose ucglib library  because is like u8glb library , that I used it at monochrome Nokia mobile displays (like Nokia 3310 display with 84x48 resolution using PCD8544 driver or Nokia 3410 display with 95x64 resolution using  PCF8812 driver  3410) or at monochrome display with 128x64 resolution using ST7920 driver.  
   I tested with very good results the  ucglib library  with  Arduino Uno & Due for control the  colour graphic display with 320x240 resolution using ILI9341 driver and I write few article in roumanian language , who is my native language.  
   Now, I  make a summary of that article for interested people... 
   Arduino Due  is more powerfull then other Arduino boards, becouse runs at 3.3V (maximum tolerate voltage at input or output pins is 3.3V).  
   In my case, schematic is: 
   First, I made a weather station with DTH11 sensor for humidity and BMP180 for pressure and temperature, schematic is: 
   Then, I simplified the sketch for using just DHT11 sensor for humidity and temperature: 
   Practical, wirred is: 
    My original sketck for full weather station with BMP180 and DHT11 is: 
/* 
original sketch by niq_ro  from http://nicuflorica.blogspot.com  using ucglib library 
version for 2.2" TFT with ILI9341  - 2014.07.29, Craiova - Romania 
use Universal uC Color Graphics Library from https://code.google.com/p/ucglib/  
*/ 
#include <SPI .h>
#include "Ucglib.h" 
//Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 6 , /*cs=*/ 5, /*reset=*/ 4); // at Uno 
//Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 26 , /*cs=*/ 24, /*reset=*/ 22); // at Mega 
//Ucglib_ILI9341_18x240x320_SWSPI ucg(/*sclk=*/ 52, /*data=*/ 51, /*cd=*/ 26 , /*cs=*/ 24, /*reset=*/ 22); //at Mega 
//Ucglib_ILI9341_18x240x320_SWSPI ucg(/*sclk=*/ 76, /*data=*/ 75, /*cd=*/ 26 , /*cs=*/ 24, /*reset=*/ 22); //at Mega 
Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/  26 , /*cs=*/  24, /*reset=*/  22); //at Mega and Due 
/* 
Due  |Mega | Uno | TFT - ILI9341 
---------------------- 
D22  | D22 | D4  | RESET 
D24  | D24 | D5  | CS 
D26  | D26 | D6  | D/C 
 ?   | ?   | LED (via 220 ohms resistor at 5V) 
MOSI | D51 | D11 | MOSI 
MISO | D50 | D12 | MISO 
SCK  | D52 | D13 | SCK 
----------------------------- 
with CD4050 adapter or 10k resistor, power supply and logical levels is 3.3V 
schematic: http://nicuflorica.blogspot.ro/2014/07/afisaj-grafic-color-qvga-de-22-cu.html  
*/ 
#include <dht.h> 
// from http://playground.arduino.cc/Main/DHTLib 
dht DHT;
float  t1, t2;
float  t10, t20;
float  t11, t21;
float  t12, t22;
float  t13, t23;
int  h11, h12;
void  setup delay (1000);
ucg.begin (UCG_FONT_MODE_TRANSPARENT);
ucg.clearScreen();
ucg.setFont(ucg_font_ncenR14r);
ucg.setColor(255, 0, 255);
ucg.setColor(1, 255, 0,0);
  ucg.setRotate90();
  ucg.setColor(255, 255, 255); // culoare alba 
  ucg.drawFrame(0,0,320,240); //    
  ucg.setFont(ucg_font_courB24); // 20 pixel height 
  ucg.setColor(255, 0, 0); // culoare rosie 
  ucg.setPrintPos(60,30);
  ucg.print ("Ministatie" );
  ucg.setColor(0, 255, 0); // culoare verde 
  ucg.setColor(0, 255, 0);
  ucg.setColor(0, 0, 255); // culoare albastru 
  ucg.setPrintPos(17, 60);
  ucg.print ("meteo cu DHT11" );
//  ucg.setPrintPos(55, 90); 
//  ucg.setColor(5, 255, 0); // culoare verde 
//  ucg.print("si BMP180"); 
  ucg.setFont(ucg_font_fur17r); // 17 pixel height 
  ucg.setColor(255, 255, 0); // culoare galbena 
  ucg.setPrintPos(25,120);
  ucg.print ("ecran grafic 2,2'' (5,6cm)" );
  ucg.setFont(ucg_font_courB24); // 20 pixel height  
  ucg.setColor(0, 255, 255); // culoare bleo 
  ucg.setPrintPos(10,150);
  ucg.print ("QVGA cu ILI9341" );
  ucg.setColor(255, 0, 255); // culoare mov 
  ucg.setPrintPos(20,180);
  ucg.print ("versiune 4.5.0" );
  ucg.setFont(ucg_font_fur17r); // 17 pixel height 
  ucg.setColor(255, 255, 255); // culoare alb 
  ucg.setPrintPos(60,210);
  ucg.print ("realizare niq_ro" );
delay (5000);
ucg.clearScreen();
t13=40.0;
h12=40.0;
}
void  loop // DHT11 part 
 int  chk = DHT.read11(37);
 delay (1000);
// timeout; 
 int  h11 = DHT.humidity; 
 if  (DHT.humidity < 0) h11 = 0;
 int  t12 = DHT.temperature;
int  t15 = t12;
float  t16 = 10*t15;
t16 = t16/10;
t16 = t12;
if  (t16 != t13) 
{
temperaturi(t16, t13, 20, 0); // temperature, old temperature, x,y 
termometre(t16, 20);
}
if  (h11 != h12) 
{
// umiditate(h11, h12, 115, 90); // humidity, old humidity, x, y 
 umiditate(h11, h12, 40, 180); // humidity, old humidity, x, y 
 barca (h11, h12);
}
//} 
delay  (30000); 
t13=t16;
h12=h11;
} // final de program, se revine de la inceput 
void  temperaturi(float  t3, float  t4, int  ics, int  igrec)
{
int  t5 = t3;
int  t6 = t4;
ucg.setFont(ucg_font_courB24);    
if  (t3*t4 < 0)
{ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
 ucg.drawHLine(ics+7, qy + igrec , 105);
}
}
int  t51 = t5/10;
int  t61 = t6/10;
ucg.setColor(0, 0, 0); 
if  (t51 != t61)
{
for  (int  qy = 39 ; qy < 60; qy++) 
{
ucg.drawHLine(ics+28, qy + igrec , 21);
}
}
t5 = t3 - t51*10;
t6 = t4 - t61*10;
if  (t5 != t6)
{
for  (int  qy = 39 ; qy < 60; qy++) 
{
ucg.drawHLine(ics+49, qy + igrec , 21);
}
} 
for  (int  qy = 39 ; qy < 60; qy++) 
{
 ucg.drawHLine(ics+91, qy + igrec , 21);
}
ucg.setColor(255, 0, 0);  
ucg.setPrintPos(10 + ics, 30 + igrec);
//ucg.print("t  :");  
ucg.print ("temperatura:" ); 
ucg.setPrintPos(10 + ics, 60 + igrec);
if  (t3 > 10.0) ucg.print ("+" );
else 
 if  (t3>0.0) ucg.print (" +" );
else 
 if  (t3<0.0)
{
 t3=-t3;
 if  (t3 > 10.0) ucg.print ("-" );
else 
 if  (t3 > 0.0) ucg.print (" -" );
}  
if  (t3==0.0) ucg.print ("  " );
ucg.print (t3,1); 
ucg.print (" C" ); 
ucg.setFont(ucg_font_fur17r); 
ucg.setPrintPos(30 + ics, 35 + igrec);
//if (igrec == 0) ucg.print("int");  
//else ucg.print("ext");  
ucg.setPrintPos(115 + ics, 50 + igrec);
ucg.print ("o" ); 
ucg.setPrintPos(75 + ics, 60 + igrec);
ucg.print ("," );
}
void  termometre (float  t, int  ics1)
{
ucg.setColor(255, 255, 255);  
ucg.drawFrame(ics1-4,10,9,200); 
ucg.drawCircle(ics1,220,10,UCG_DRAW_ALL);  
for  (int  a = 0; a < 10; a++)
{
ucg.drawLine(ics1-5,20+20*a,ics1-7,20+20*a);
ucg.drawLine(ics1+5,20+20*a,ics1+7,20+20*a);
}
ucg.drawLine(ics1-10,140,ics1+10,140);  
ucg.setFont(ucg_font_courB24);    
ucg.setPrintPos(13 + ics1, 149);
ucg.print ("0 C" ); 
ucg.setFont(ucg_font_fur17r); 
ucg.setPrintPos(37 + ics1, 135);
ucg.print ("o" ); 
int  lin = 140 - 2*t;
ucg.setColor(0, 0, 0);  // black  
ucg.drawBox(ics1-2,21, 5, lin+5);
ucg.setColor(255, 0, 0);  
ucg.drawDisc(ics1,220,8,UCG_DRAW_ALL);  
ucg.drawBox(ics1-2,lin, 5, 210-lin);
}
void  umiditate(int  h3, int  h4, int  zet, int  igrec1)
{
  ucg.setFont(ucg_font_courB24); // 20 pixel height    
// sterg semnul ?? 
int  h51 = h3/10;
int  h61 = h4/10;
ucg.setColor(0, 0, 0); 
// sterg zeci daca e cazul 
if  (h51 != h61)
{
//ucg.setColor(255, 255, 0);  
ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
//  ucg.drawHLine(zet+28, qy + igrec1 , 21); 
  ucg.drawHLine(zet+40, qy + igrec1, 42);
}
}
  int  h5 = h3 - h51*10;
  int  h6 = h4 - h61*10;
// sterg unitati daca e cazul 
//if ((t5 != t6) || (t5-t6>0.2)) 
if  (h5 != h6)
{
//ucg.setColor(0, 255, 0);  
ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
  ucg.drawHLine(zet+79, qy + igrec1 , 21);
}
} 
 ucg.setColor(0, 255, 255);  
 ucg.setPrintPos(zet, 30 + igrec1);
 ucg.print ("umiditate:" ); 
//ucg.setFont(ucg_font_fub42n); // 20 pixel height    
ucg.setPrintPos(40 + zet, 60 + igrec1);
//if (h3 > 10) ucg.print("+"); 
if  (h3 > 10) ucg.print (" " );
else 
{
//ucg.setColor(255, 255, 255);  
ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
  ucg.drawHLine(zet+40, qy + igrec1 , 42);
}
if  (igrec1 <30) ucg.setColor(255, 255, 0);  
else  ucg.setColor(0, 255, 255); 
ucg.setPrintPos(61 + zet, 60 + igrec1);
//ucg.print("+"); 
ucg.print (" " );
}
 ucg.print (h3); 
 ucg.print ("%" ); 
}
void  barca (int  h, int  h2) // new humidity, old humidity., 
{
int  xx = 280; 
int  yy = 230;
//sterg barca 
//ucg.setColor(100,100,100);   
ucg.setColor(0,0,0);  
ucg.drawBox(xx-25, yy-20-h2, 50, 30);
//sterg apa 
//ucg.setColor(125, 125, 125);   
ucg.setColor(0, 0, 0);  
ucg.drawBox(xx-35, yy+10-h2, 70, h2-h);
//desenez apa 
ucg.setColor(0, 255, 255);  
ucg.drawBox(xx-35, yy+10-h, 70, h);
//desenz barcuta; 
//desenez carena 
ucg.setColor(255, 255, 0);  
ucg.drawBox(xx-20, yy-h, 40, 10);
ucg.drawTriangle(xx-25, yy-h, xx-20, yy-h, xx-20, yy+10-h);
ucg.drawTriangle(xx+25, yy-h, xx+20, yy-h, xx+20, yy+10-h);
//desenez catarg 
ucg.drawBox(xx-1, yy-20-h, 2, 20);
//desenez velele 
ucg.setColor(0, 0, 255); // vela albastra   
ucg.drawTriangle(xx+2, yy-20-h, xx+2, yy-h, xx+20, yy-h);
ucg.setColor(255, 0, 0); // vela rosie   
ucg.drawTriangle(xx-2, yy-15-h, xx-2, yy-h, xx-20, yy-h);
}
   Sketch for simplified weather station just DHT11 is:   
/* 
original sketch by niq_ro  from http://nicuflorica.blogspot.com  using ucglib library 
version for 2.2" TFT with ILI9341  - 2014.07.29, Craiova - Romania 
use Universal uC Color Graphics Library from https://code.google.com/p/ucglib/  
*/ 
#include <SPI .h>
#include "Ucglib.h" 
//Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 6 , /*cs=*/ 5, /*reset=*/ 4); // at Uno 
//Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 26 , /*cs=*/ 24, /*reset=*/ 22); // at Mega 
//Ucglib_ILI9341_18x240x320_SWSPI ucg(/*sclk=*/ 52, /*data=*/ 51, /*cd=*/ 26 , /*cs=*/ 24, /*reset=*/ 22); //at Mega 
//Ucglib_ILI9341_18x240x320_SWSPI ucg(/*sclk=*/ 76, /*data=*/ 75, /*cd=*/ 26 , /*cs=*/ 24, /*reset=*/ 22); //at Mega 
Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/  26 , /*cs=*/  24, /*reset=*/  22); //at Mega and Due 
/* 
Due  |Mega | Uno | TFT - ILI9341 
---------------------- 
D22  | D22 | D4  | RESET 
D24  | D24 | D5  | CS 
D26  | D26 | D6  | D/C 
 ?   | ?   | LED (via 220 ohms resistor at 5V) 
MOSI | D51 | D11 | MOSI 
MISO | D50 | D12 | MISO 
SCK  | D52 | D13 | SCK 
----------------------------- 
with CD4050 adapter or 10k resistor, power supply and logical levels is 3.3V 
schematic: http://nicuflorica.blogspot.ro/2014/07/afisaj-grafic-color-qvga-de-22-cu.html  
*/ 
#include <dht.h> 
// from http://playground.arduino.cc/Main/DHTLib 
dht DHT;
float  t1, t2;
float  t10, t20;
float  t11, t21;
float  t12, t22;
float  t13, t23;
int  h11, h12;
void  setup delay (1000);
ucg.begin (UCG_FONT_MODE_TRANSPARENT);
ucg.clearScreen();
ucg.setFont(ucg_font_ncenR14r);
ucg.setColor(255, 0, 255);
ucg.setColor(1, 255, 0,0);
  ucg.setRotate90();
  ucg.setColor(255, 255, 255); // culoare alba 
  ucg.drawFrame(0,0,320,240); //    
  ucg.setFont(ucg_font_courB24); // 20 pixel height 
  ucg.setColor(255, 0, 0); // culoare rosie 
  ucg.setPrintPos(60,30);
  ucg.print ("Ministatie" );
  ucg.setColor(0, 255, 0); // culoare verde 
  ucg.setColor(0, 255, 0);
  ucg.setColor(0, 0, 255); // culoare albastru 
  ucg.setPrintPos(17, 60);
  ucg.print ("meteo cu DHT11" );
//  ucg.setPrintPos(55, 90); 
//  ucg.setColor(5, 255, 0); // culoare verde 
//  ucg.print("si BMP180"); 
  ucg.setFont(ucg_font_fur17r); // 17 pixel height 
  ucg.setColor(255, 255, 0); // culoare galbena 
  ucg.setPrintPos(25,120);
  ucg.print ("ecran grafic 2,2'' (5,6cm)" );
  ucg.setFont(ucg_font_courB24); // 20 pixel height  
  ucg.setColor(0, 255, 255); // culoare bleo 
  ucg.setPrintPos(10,150);
  ucg.print ("QVGA cu ILI9341" );
  ucg.setColor(255, 0, 255); // culoare mov 
  ucg.setPrintPos(20,180);
  ucg.print ("versiune 4.5.0" );
  ucg.setFont(ucg_font_fur17r); // 17 pixel height 
  ucg.setColor(255, 255, 255); // culoare alb 
  ucg.setPrintPos(60,210);
  ucg.print ("realizare niq_ro" );
delay (5000);
ucg.clearScreen();
t13=40.0;
h12=40.0;
}
void  loop // DHT11 part 
 int  chk = DHT.read11(37);
 delay (1000);
// timeout; 
 int  h11 = DHT.humidity; 
 if  (DHT.humidity < 0) h11 = 0;
 int  t12 = DHT.temperature;
int  t15 = t12;
float  t16 = 10*t15;
t16 = t16/10;
t16 = t12;
if  (t16 != t13) 
{
temperaturi(t16, t13, 20, 0); // temperature, old temperature, x,y 
termometre(t16, 20);
}
if  (h11 != h12) 
{
// umiditate(h11, h12, 115, 90); // humidity, old humidity, x, y 
 umiditate(h11, h12, 40, 180); // humidity, old humidity, x, y 
 barca (h11, h12);
}
//} 
delay  (30000); 
t13=t16;
h12=h11;
} // final de program, se revine de la inceput 
void  temperaturi(float  t3, float  t4, int  ics, int  igrec)
{
int  t5 = t3;
int  t6 = t4;
ucg.setFont(ucg_font_courB24);    
if  (t3*t4 < 0)
{ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
 ucg.drawHLine(ics+7, qy + igrec , 105);
}
}
int  t51 = t5/10;
int  t61 = t6/10;
ucg.setColor(0, 0, 0); 
if  (t51 != t61)
{
for  (int  qy = 39 ; qy < 60; qy++) 
{
ucg.drawHLine(ics+28, qy + igrec , 21);
}
}
t5 = t3 - t51*10;
t6 = t4 - t61*10;
if  (t5 != t6)
{
for  (int  qy = 39 ; qy < 60; qy++) 
{
ucg.drawHLine(ics+49, qy + igrec , 21);
}
} 
for  (int  qy = 39 ; qy < 60; qy++) 
{
 ucg.drawHLine(ics+91, qy + igrec , 21);
}
ucg.setColor(255, 0, 0);  
ucg.setPrintPos(10 + ics, 30 + igrec);
//ucg.print("t  :");  
ucg.print ("temperatura:" ); 
ucg.setPrintPos(10 + ics, 60 + igrec);
if  (t3 > 10.0) ucg.print ("+" );
else 
 if  (t3>0.0) ucg.print (" +" );
else 
 if  (t3<0.0)
{
 t3=-t3;
 if  (t3 > 10.0) ucg.print ("-" );
else 
 if  (t3 > 0.0) ucg.print (" -" );
}  
if  (t3==0.0) ucg.print ("  " );
ucg.print (t3,1); 
ucg.print (" C" ); 
ucg.setFont(ucg_font_fur17r); 
ucg.setPrintPos(30 + ics, 35 + igrec);
//if (igrec == 0) ucg.print("int");  
//else ucg.print("ext");  
ucg.setPrintPos(115 + ics, 50 + igrec);
ucg.print ("o" ); 
ucg.setPrintPos(75 + ics, 60 + igrec);
ucg.print ("," );
}
void  termometre (float  t, int  ics1)
{
ucg.setColor(255, 255, 255);  
ucg.drawFrame(ics1-4,10,9,200); 
ucg.drawCircle(ics1,220,10,UCG_DRAW_ALL);  
for  (int  a = 0; a < 10; a++)
{
ucg.drawLine(ics1-5,20+20*a,ics1-7,20+20*a);
ucg.drawLine(ics1+5,20+20*a,ics1+7,20+20*a);
}
ucg.drawLine(ics1-10,140,ics1+10,140);  
ucg.setFont(ucg_font_courB24);    
ucg.setPrintPos(13 + ics1, 149);
ucg.print ("0 C" ); 
ucg.setFont(ucg_font_fur17r); 
ucg.setPrintPos(37 + ics1, 135);
ucg.print ("o" ); 
int  lin = 140 - 2*t;
ucg.setColor(0, 0, 0);  // black  
ucg.drawBox(ics1-2,21, 5, lin+5);
ucg.setColor(255, 0, 0);  
ucg.drawDisc(ics1,220,8,UCG_DRAW_ALL);  
ucg.drawBox(ics1-2,lin, 5, 210-lin);
}
void  umiditate(int  h3, int  h4, int  zet, int  igrec1)
{
  ucg.setFont(ucg_font_courB24); // 20 pixel height    
// sterg semnul ?? 
int  h51 = h3/10;
int  h61 = h4/10;
ucg.setColor(0, 0, 0); 
// sterg zeci daca e cazul 
if  (h51 != h61)
{
//ucg.setColor(255, 255, 0);  
ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
//  ucg.drawHLine(zet+28, qy + igrec1 , 21); 
  ucg.drawHLine(zet+40, qy + igrec1, 42);
}
}
  int  h5 = h3 - h51*10;
  int  h6 = h4 - h61*10;
// sterg unitati daca e cazul 
//if ((t5 != t6) || (t5-t6>0.2)) 
if  (h5 != h6)
{
//ucg.setColor(0, 255, 0);  
ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
  ucg.drawHLine(zet+79, qy + igrec1 , 21);
}
} 
 ucg.setColor(0, 255, 255);  
 ucg.setPrintPos(zet, 30 + igrec1);
 ucg.print ("umiditate:" ); 
//ucg.setFont(ucg_font_fub42n); // 20 pixel height    
ucg.setPrintPos(40 + zet, 60 + igrec1);
//if (h3 > 10) ucg.print("+"); 
if  (h3 > 10) ucg.print (" " );
else 
{
//ucg.setColor(255, 255, 255);  
ucg.setColor(0, 0, 0); 
for  (int  qy = 39 ; qy < 60; qy++) 
{
  ucg.drawHLine(zet+40, qy + igrec1 , 42);
}
if  (igrec1 <30) ucg.setColor(255, 255, 0);  
else  ucg.setColor(0, 255, 255); 
ucg.setPrintPos(61 + zet, 60 + igrec1);
//ucg.print("+"); 
ucg.print (" " );
}
 ucg.print (h3); 
 ucg.print ("%" ); 
}
void  barca (int  h, int  h2) // new humidity, old humidity., 
{
int  xx = 280; 
int  yy = 230;
//sterg barca 
//ucg.setColor(100,100,100);   
ucg.setColor(0,0,0);  
ucg.drawBox(xx-25, yy-20-h2, 50, 30);
//sterg apa 
//ucg.setColor(125, 125, 125);   
ucg.setColor(0, 0, 0);  
ucg.drawBox(xx-35, yy+10-h2, 70, h2-h);
//desenez apa 
ucg.setColor(0, 255, 255);  
ucg.drawBox(xx-35, yy+10-h, 70, h);
//desenz barcuta; 
//desenez carena 
ucg.setColor(255, 255, 0);  
ucg.drawBox(xx-20, yy-h, 40, 10);
ucg.drawTriangle(xx-25, yy-h, xx-20, yy-h, xx-20, yy+10-h);
ucg.drawTriangle(xx+25, yy-h, xx+20, yy-h, xx+20, yy+10-h);
//desenez catarg 
ucg.drawBox(xx-1, yy-20-h, 2, 20);
//desenez velele 
ucg.setColor(0, 0, 255); // vela albastra   
ucg.drawTriangle(xx+2, yy-20-h, xx+2, yy-h, xx+20, yy-h);
ucg.setColor(255, 0, 0); // vela rosie   
ucg.drawTriangle(xx-2, yy-15-h, xx-2, yy-h, xx-20, yy-h);
}
   I made two movies for  understand better what is on display: 
VIDEO 
VIDEO 
   Information are displayed in the roumanian language, but you may change easy... 
   For upload sketch for Arduino Due must update Arduino IDE software; now current version is Arduino IDE 1.5.7. BETA .   
   I wait with interest your views and comments!!!