added CValue and step 4