adding code for device driver framework