Renaming of files for greater clarity
Split out various aspects of the driver into separate modules