added device class wrapper