func: function buyTokens(address beneficiary) public payable {
      require(beneficiary != address(0));
      require(validPurchase());
  
      uint256 weiAmount = msg.value;
  
      
      uint256 tokens = getTokenAmount(weiAmount);
  
      token.mint(beneficiary, tokens);
      
      TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);
  
      forwardFunds();
      
      
      amountRaised = amountRaised.add(weiAmount);
    }