Add a controller to replace the messy datafiles.py