Assignment #5 by Chad Kirkpatrick