Implementing code from Section 4.4
Merge branch 'Section-4.4'
Implementing code from Section 4.4