10.3 Explanation of Subroutines