function makeTokens() payable  {
      if (isFinalized) throw;
      if (block.timestamp < fundingStartUnixTimestamp) throw;
      if (block.timestamp > fundingEndUnixTimestamp) throw;
      if (msg.value < 100 finney || msg.value > 100 ether) throw; 

      uint256 tokens = safeMult(msg.value, tokenRate());

      uint256 checkedSupply = safeAdd(totalSupply, tokens);

      if (tokenCreationCap < checkedSupply) throw;

      totalSupply = checkedSupply;
      balances[msg.sender] += tokens;
      CreateHOLY(msg.sender, tokens);
    }