deleted dup function