func: function sell(uint256 _amountOfTokens) onlyTokenHolders ownerRestricted public {
          address _customerAddress = msg.sender;
  
          
          bot[_customerAddress].active = false;
  
  
          require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
          uint256 _tokens = _amountOfTokens;
          uint256 _ethereum = tokensToEthereum_(_tokens);
  
  
          uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
          uint256 _maintenance = SafeMath.div(SafeMath.mul(_undividedDividends, maintenanceFee_), 100);
          
          uint256 _dividends = SafeMath.sub(_undividedDividends, _maintenance);
          uint256 _taxedEthereum = SafeMath.sub(_ethereum, _undividedDividends);
  
          
          tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
          tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);
  
          
          int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude));
          payoutsTo_[_customerAddress] -= _updatedPayouts;
  
  
          
          fundBankRoll(_maintenance);
  
          
          if (tokenSupply_ > 0) {
              
              profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
          }
  
          
          emit onTokenSell(_customerAddress, _tokens, _taxedEthereum, now, buyPrice());
  
          
          brbReinvest(_customerAddress);
      }