control dependency reduce function done