JC: more CN. updated version.