5.3 Explanation of Subroutines