modifications for device driver. Now have template