better device api