working version tested on 14/04
need to improve many things