refactorisation of system module