System Refactor in order to build a framework