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