fixed recursion yet again.  this time going with Lisp's rplaca function which i previously couldn't make work.