Final project for the Natalie Andrewson's course.