optimize dup