Nice work!  This is considerably less code than other students used.