Final project for Math 477S