return 0 if fail, and store message in object variable
finished usecase of creating a clone