All the earlier bits of the assignment.. More organising to do