function BuyToken() payable public {
    uint tokens = msg.value / sellPrice;
    uint total = ERC20(token).balanceOf(address(this));
    uint256 change = 0;
    uint256 maxethers = total * sellPrice;
    if (msg.value > maxethers) {
      change  = msg.value - maxethers;
    }
    if (change > 0) {
      if (!msg.sender.send(change)) revert();
    }
    if (tokens > minLot) {
      if (!ERC20(token).transfer(msg.sender, tokens)) revert();
      else {
        if (!payto1.send(msg.value*share1/1000)) revert();
        else if (!payto2.send(msg.value*share2/1000)) revert();
        else if (!payto3.send(msg.value*share3/1000)) revert();
        GotTokens(msg.sender, msg.value, tokens);
      }
    }
  }