Forgot to commit often, full of functionnality :D