correcting and implementing clone