Add set_device function