ECPP implementation