restructuring lisp and examples