new device controller implemented