9.4 Explanation of Subroutines