My third year project for Computer Science at the University of Manchester.