added device model detection