fix a bug in determine_value