# A Brief Aside: What's the rest of this stuff?

If you have taken a peek at the rest of the files in the
[`api/v1/`](https://sigs.k8s.io/kubebuilder/docs/book/src/cronjob-tutorial/testdata/project/api/v1)
directory, you might have noticed two additional files beyond
`cronjob_types.go`: `groupversion_info.go` and `zz_generated.deepcopy.go`.

Neither of these files ever needs to be edited (the former stays the same
and the latter is autogenerated), but it is useful to know what is in them.

## `groupversion_info.go`

`groupversion_info.go` contains common metadata about the group-version:

{{#literatego ./testdata/project/api/v1/groupversion_info.go}}

## `zz_generated.deepcopy.go`

`zz_generated.deepcopy.go` contains the autogenerated implementation of
the aforementioned `runtime.Object` interface, which marks all of our root
types as representing Kinds.

The core of the `runtime.Object` interface is a deep-copy method,
`DeepCopyObject`.

The `object` generator in controller-tools also generates two other handy
methods for each root type and all its sub-types: `DeepCopy` and
`DeepCopyInto`.
