new devices stubs + small device refactor