Assignment #2 by Chad Kirkpatrick