integrate BLE
refine