working on recursive cloner