avoid using kclone