Completed exercise #18
Completed exercise #19
Completed exercise #20.