Push assignment #4, question 04. Still work in progress.