fix DoFunc