more refactoring to separate key init and struct population.  adding gob decoder to cs3a.