more device things, no more segfaults