         guard pdu.startHandle <= pdu.endHandle
             else { errorResponse(opcode, .InvalidHandle, pdu.startHandle); return }
         
-        let handles = database.findByTypeValue(pdu.startHandle ... pdu.endHandle, type: pdu.attributeType, value: pdu.attributeValue)
+        let handles = database.findByTypeValue(handle: (pdu.startHandle, pdu.endHandle), type: pdu.attributeType, value: pdu.attributeValue)
         
         guard handles.isEmpty == false
             else { errorResponse(opcode, .AttributeNotFound, pdu.startHandle); return }

        guard pdu.startHandle <= pdu.endHandle
            else { errorResponse(opcode, .InvalidHandle, pdu.startHandle); return }
        
        let attributes = database.readByType(pdu.startHandle ... pdu.endHandle, type: pdu.attributeType)
        
        guard attributes.isEmpty == false
            else { errorResponse(opcode, .AttributeNotFound, pdu.startHandle); return }

            
            for attribute in group.attributes {
                
                let match = range.contains(attribute.handle) && attribute.UUID == .Bit16(type) && attribute.value.byteValue == value
                
                guard match else { continue }
                
