function execute(uint proposalId) external {
    Proposal memory proposal = proposals[proposalId];
    require(
      
      
      proposal.deadline < block.timestamp || proposal.yeas > (token.totalSupply() / 2),
      "Voting is not complete"
    );
    require(proposal.data.length > 0, "Already executed");
    if(proposal.yeas > proposal.nays) {
      proposal.target.call(proposal.data);
      emit Executed(proposalId);
    }
    
    proposals[proposalId].data = "";
  }