more validation on device object