func: function bidTransfer(uint256 _tokenId, address _buyer, uint256 _bidAmount) public canTransact {
  
          Sale memory sale = tokenIdToSale[_tokenId];
          address seller = sale.seller;
  
          
          require (now > sale.startedAt.add(BID_DELAY_TIME));
          
          uint256[9] memory tokenIdsStore = tokenIdToSale[_tokenId].tokenIds;
          
          
          require(_isOnSale(sale));
  
          
          uint256 price = _currentPrice(sale);
          require(_bidAmount >= price);
  
          
          
          if(tokenIdsStore[1] > 0) {
              for(uint ii = 0; ii < 9; ii++) {
                  _removeSale(tokenIdsStore[ii]);
              }
          } else {
              _removeSale(_tokenId);
          }
  
          uint256 marketsCut = 0;
          uint256 sellerProceeds = 0;
  
          
          if (price > 0) {
              
              
              
              marketsCut = _computeCut(price);
              sellerProceeds = price.sub(marketsCut);
          }
  
          
          require (LSEscrowContract.escrowTransfer(seller, _buyer, sellerProceeds, marketsCut));
          
          
          
          if(tokenIdsStore[1] > 0) {
              emit TeamSaleWinner(tokenIdsStore, price, _buyer);
          } else {
              emit SaleWinner(_tokenId, price, _buyer);
          }
  
          
          if(sale.tokenIds[1] > 0) {
              
              for (uint256 i = 0; i < 9; i++) {
                  _transfer(address(this), _buyer, sale.tokenIds[i]);
              }
  
              
              price = price.div(9);
          } else {
              
              _transfer(address(this), _buyer, _tokenId);
          }
          
          
          if (seller == address(this)) {
              if(sale.tokenIds[1] > 0) {
                  uint256 _teamId = nonFungibleContract.getTeamId(_tokenId);
  
                  lastTeamSalePrices[_teamId][seedTeamSaleCount[_teamId] % 3] = price;
  
                  seedTeamSaleCount[_teamId]++;
              } else {
                  lastSingleSalePrices[seedSingleSaleCount % 10] = price;
                  seedSingleSaleCount++;
              }
          }
      }