My final year project for university.