add value computing function