implemented ble function