function purchase(uint256 _tokenId) public payable onlyStart {
    address oldOwner = teamIndexToOwner[_tokenId];
    address newOwner = msg.sender;
    uint256 sellingPrice = teamIndexToPrice[_tokenId];
    
    require(oldOwner != newOwner);
    
    require(_addressNotNull(newOwner));
    
    require(msg.value >= sellingPrice);
    uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 92), 100));
    uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice);
    teamIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 130),100);
    
    _transfer(oldOwner, newOwner, _tokenId);
    if (oldOwner != address(this)) {
      oldOwner.send(payment); 
    }
    TokenSold(_tokenId, sellingPrice, teamIndexToPrice[_tokenId], oldOwner, newOwner, teams[_tokenId].name);
    msg.sender.send(purchaseExcess);
  }