One function per file, and don't reuse the `init`...

This is probably the smallest clean-up we can do while copying.