A lot of refactorisation, a lot to do