Getting Smart With: Multithreaded Procedures