fix a bug (calling sub determine_value)