restructure.

Experiment looks successful. Restructure properly.

Experimenting with small source files. Status quo is small number of files with related functionality.