some changes for Purity