device id implemented