8.3 Explanation of Subroutines