edited comutevalue function