More rethinking structure.  Can we get it all in one helper file?