adding shaft prep.  had a big issue with recursion or memory leak or something.