func: function depositAndSpin(address _customerAddress, uint256 betAmount)
          public
          gameActive
      {
          require(tx.origin == _customerAddress);
          require(betAmount >= (minBet * 2));
          require(ERC20Interface(tokenAddress).transferFrom(_customerAddress, this, betAmount), "token transfer failed");
          
          uint256 devFee = betAmount / 33;
          devFeeBalance = devFeeBalance.add(devFee);
          
          balanceLedger_[_customerAddress] = tokenBalanceOf(_customerAddress).add(betAmount).sub(devFee);
          personalFactorLedger_[_customerAddress] = constantFactor / globalFactor;
  
          emit onDeposit(_customerAddress, betAmount, getBalance(), devFee, now);
  
          betAmount = betAmount.sub(devFee);
          
          if (betAmount >= maxBet){
              betAmount = maxBet;
          }
          
          if (betAmount > betPool(_customerAddress)/10) {
              betAmount = betPool(_customerAddress)/10;
          }
          
          startSpin(betAmount, _customerAddress);
      }