set deep value func