4.3 Explanation of Subroutines