add vectorised CMC