add dup method

should we dup the attributes as well? or even do a deep dup?