added device checks