Merge the big refactoring made in SlidesMIT