issue #19 - implemented dup method