formation 7

almost nothing added from formation 6. This work is just for refactoring.