setup for actual device functionality