first draft for clone() method