A whole bunch of functionnality added.