Final project for Computer Science I.