Ah, well thats a whole new animal --Procedure design-. Depends on what factors/criteria you want at the time; maintenance, portability, speed, etc. There isnt a one good solution for every case. Use of, block structure, free or bound variables, etc...this is a HUGE subject.