2.3 Explanation of Subroutines