added some helping comments and reverted definition of eff and pur