rewrite formation in detaille