Have you encounted many cases where one section of one routine happened to be written *exactly* like another section in *another* routine? Now, I'm NOT talking about repetitive use of 'toolbox' routines that you may use in your code that use differing parameters, like this: ;... (myfunction a b c) ;... (myfunction d e f) ;... ....because they aren't used with *exactly* the same arguments - see? I can think of one good example that Michael Puckett illustrated a few days ago: [QUOTE] What I do these days is set local variables within a command defun if there is necessity to repeatedly access said objects, and then pass said objects to functions as required ... (defun c:SomeCommand ( / application document modespace paperspace ) (setq application (vlax-get-acad-object) document (vlax-get-property application 'ActiveDocument) modelspace (vlax-get-property document 'ModelSpace) paperspace (vlax-get-property document 'PaperSpace) ) (FunctionRequiringApplication application) (FunctionRequiringDocument document) (FunctionRequiringModelSpace ModelSpace) (FunctionRequiringPaperSpace paperspace) ; etc. (princ) )[/QUOTE] In this case, that initial (setq... code block that stores the different objects used later could easily find a spot in many different routines, no? Can you think of other (perhaps larger) cases wherein this sort of 'code recycling' would prove beneficial or desirable? I'd appreciate some additional ideas. Thanks, David Kozina