cloned, then added fromclone.c