Modified files to seperate program logic from device interface code