rename DeviceApi to FunctionalDeviceApi