Big internal changes / fully functionnal !