anchor.diff:          ),
         ],
       );
  +  }
  +
  +  void _verifyBarcodeScanning(BarcodeResult result) {
  +    scannedCodes.add(result.data);
  +    // currently scanning 3 consecutive times
  +    if(scannedCodes.length < 3) {
  +      _controller.resumeBarcodeScanning();
  +    }
  +    else {
  +      String firstScan = scannedCodes.first;
  +      // if all scans are not the same, need to go into error state
  +      // otherwise, continue to handle normally
  +      if(scannedCodes.every((element) => element == firstScan)) {
  +        // ACCEPT STATE
  +        _handleBarcodeResult(result);
  +      }
  +      else {
  +        // REJECT STATE
  +        this.setState(() {
  +          hasScanned = true;
  +          didError = true;
  +          isLoading = false;
  +        });
  +      }
  +    }
     }
   
     Future<void> _handleBarcodeResult(BarcodeResult result) async {
  
positive.code:   bool successfulSubmission;
    bool isValidBarcode;
    PermissionStatus _cameraPermissionsStatus = PermissionStatus.undetermined;
  
    Future _requestCameraPermissions() async {
      var status = await Permission.camera.status;
  
negative.code:                 child: FlatButton(
                    padding: EdgeInsets.only(left: 32.0, right: 32.0),
                    onPressed: () {
                      scannedCodes.clear();
                      this.setState(() {
                        hasScanned = false;
                        hasSubmitted = false;
  