2nd course attempt, added codebook