more refactorisation