added device controller