10.2 Explanation of Subroutines