added gob.go, implementing the gob.GobEncoder and gob.GobDecoder interfaces for serialisation