Revert "Revert "save purpose""

This reverts commit ec3bad2b4eab19f7a74d14cd771b02652239e7e8.