Split things up into two different files.  This fixes #8073.  Everything is in place now.