Final project from Computer Science II.