Study the chapter on procedures and procedure parameters in the free book at
Duplicating blocks is indeed poor practice.