diff --git a/src/token-voting/ERC20TokenholderActionCreator.sol b/src/token-voting/ERC20TokenholderActionCreator.sol
index a2fde41..9619b04 100644
--- a/src/token-voting/ERC20TokenholderActionCreator.sol
+++ b/src/token-voting/ERC20TokenholderActionCreator.sol
@@ -23,7 +23,7 @@ contract ERC20TokenholderActionCreator is TokenholderActionCreator {
   /// The `initializer` modifier ensures that this function can be invoked at most once.
   /// @param _token The ERC20 token to be used for voting.
   /// @param _llamaCore The `LlamaCore` contract for this Llama instance.
-  /// @param _role The role used by this contract to cast approvals and disapprovals.
+  /// @param _role The role used by this contract to cast approvals and vetos.
   /// @param _creationThreshold The default number of tokens required to create an action. This must
   /// be in the same decimals as the token. For example, if the token has 18 decimals and you want a
   /// creation threshold of 1000 tokens, pass in 1000e18.
diff --git a/src/token-voting/ERC20TokenholderCaster.sol b/src/token-voting/ERC20TokenholderCaster.sol
index 1ae50af..65a027e 100644
--- a/src/token-voting/ERC20TokenholderCaster.sol
+++ b/src/token-voting/ERC20TokenholderCaster.sol
@@ -7,7 +7,7 @@ import {ERC20Votes} from "@openzeppelin/token/ERC20/extensions/ERC20Votes.sol";
 
 /// @title ERC20TokenholderCaster
 /// @author Llama (devsdosomething@llama.xyz)
-/// @notice This contract lets holders of a given governance ERC20Votes token cast approvals and disapprovals
+/// @notice This contract lets holders of a given governance ERC20Votes token cast approvals and vetos
 /// on created actions.
 contract ERC20TokenholderCaster is TokenholderCaster {
   ERC20Votes public token;
@@ -23,17 +23,14 @@ contract ERC20TokenholderCaster is TokenholderCaster {
   /// The `initializer` modifier ensures that this function can be invoked at most once.
   /// @param _token The ERC20 token to be used for voting.
   /// @param _llamaCore The `LlamaCore` contract for this Llama instance.
-  /// @param _role The role used by this contract to cast approvals and disapprovals.
-  /// @param _minApprovalPct The minimum % of approvals required to submit approvals to `LlamaCore`.
-  /// @param _minDisapprovalPct The minimum % of disapprovals required to submit disapprovals to `LlamaCore`.
-  function initialize(
-    ERC20Votes _token,
-    ILlamaCore _llamaCore,
-    uint8 _role,
-    uint256 _minApprovalPct,
-    uint256 _minDisapprovalPct
-  ) external initializer {
-    __initializeTokenholderCasterMinimalProxy(_llamaCore, _role, _minApprovalPct, _minDisapprovalPct);
+  /// @param _role The role used by this contract to cast approvals and vetos.
+  /// @param _voteQuorum The minimum % of approvals required to submit approvals to `LlamaCore`.
+  /// @param _vetoQuorum The minimum % of vetos required to submit vetos to `LlamaCore`.
+  function initialize(ERC20Votes _token, ILlamaCore _llamaCore, uint8 _role, uint256 _voteQuorum, uint256 _vetoQuorum)
+    external
+    initializer
+  {
+    __initializeTokenholderCasterMinimalProxy(_llamaCore, _role, _voteQuorum, _vetoQuorum);
     token = _token;
     uint256 totalSupply = token.totalSupply();
     if (totalSupply == 0) revert InvalidTokenAddress();
diff --git a/src/token-voting/ERC721TokenholderActionCreator.sol b/src/token-voting/ERC721TokenholderActionCreator.sol
index bfaf78f..0009a77 100644
--- a/src/token-voting/ERC721TokenholderActionCreator.sol
+++ b/src/token-voting/ERC721TokenholderActionCreator.sol
@@ -24,7 +24,7 @@ contract ERC721TokenholderActionCreator is TokenholderActionCreator {
   /// The `initializer` modifier ensures that this function can be invoked at most once.
   /// @param _token The ERC721 token to be used for voting.
   /// @param _llamaCore The `LlamaCore` contract for this Llama instance.
-  /// @param _role The role used by this contract to cast approvals and disapprovals.
+  /// @param _role The role used by this contract to cast approvals and vetos.
   /// @param _creationThreshold The default number of tokens required to create an action. This must
   /// be in the same decimals as the token. For example, if the token has 18 decimals and you want a
   /// creation threshold of 1000 tokens, pass in 1000e18.
diff --git a/src/token-voting/ERC721TokenholderCaster.sol b/src/token-voting/ERC721TokenholderCaster.sol
index fa9f2c3..374643a 100644
--- a/src/token-voting/ERC721TokenholderCaster.sol
+++ b/src/token-voting/ERC721TokenholderCaster.sol
@@ -8,7 +8,7 @@ import {IERC721} from "@openzeppelin/token/ERC721/IERC721.sol";
 
 /// @title ERC721TokenholderCaster
 /// @author Llama (devsdosomething@llama.xyz)
-/// @notice This contract lets holders of a given governance ERC721Votes token cast approvals and disapprovals
+/// @notice This contract lets holders of a given governance ERC721Votes token cast approvals and vetos
 /// on created actions.
 contract ERC721TokenholderCaster is TokenholderCaster {
   ERC721Votes public token;
@@ -24,17 +24,14 @@ contract ERC721TokenholderCaster is TokenholderCaster {
   /// The `initializer` modifier ensures that this function can be invoked at most once.
   /// @param _token The ERC721 token to be used for voting.
   /// @param _llamaCore The `LlamaCore` contract for this Llama instance.
-  /// @param _role The role used by this contract to cast approvals and disapprovals.
-  /// @param _minApprovalPct The minimum % of approvals required to submit approvals to `LlamaCore`.
-  /// @param _minDisapprovalPct The minimum % of disapprovals required to submit disapprovals to `LlamaCore`.
-  function initialize(
-    ERC721Votes _token,
-    ILlamaCore _llamaCore,
-    uint8 _role,
-    uint256 _minApprovalPct,
-    uint256 _minDisapprovalPct
-  ) external initializer {
-    __initializeTokenholderCasterMinimalProxy(_llamaCore, _role, _minApprovalPct, _minDisapprovalPct);
+  /// @param _role The role used by this contract to cast approvals and vetos.
+  /// @param _voteQuorum The minimum % of approvals required to submit approvals to `LlamaCore`.
+  /// @param _vetoQuorum The minimum % of vetos required to submit vetos to `LlamaCore`.
+  function initialize(ERC721Votes _token, ILlamaCore _llamaCore, uint8 _role, uint256 _voteQuorum, uint256 _vetoQuorum)
+    external
+    initializer
+  {
+    __initializeTokenholderCasterMinimalProxy(_llamaCore, _role, _voteQuorum, _vetoQuorum);
     token = _token;
     if (!token.supportsInterface(type(IERC721).interfaceId)) revert InvalidTokenAddress();
   }
diff --git a/src/token-voting/LlamaTokenVotingFactory.sol b/src/token-voting/LlamaTokenVotingFactory.sol
index cc703db..346f722 100644
--- a/src/token-voting/LlamaTokenVotingFactory.sol
+++ b/src/token-voting/LlamaTokenVotingFactory.sol
@@ -20,12 +20,8 @@ contract LlamaTokenVotingFactory {
 
   event ERC20TokenholderActionCreatorCreated(address actionCreator, address indexed token);
   event ERC721TokenholderActionCreatorCreated(address actionCreator, address indexed token);
-  event ERC20TokenholderCasterCreated(
-    address caster, address indexed token, uint256 minApprovalPct, uint256 minDisapprovalPct
-  );
-  event ERC721TokenholderCasterCreated(
-    address caster, address indexed token, uint256 minApprovalPct, uint256 minDisapprovalPct
-  );
+  event ERC20TokenholderCasterCreated(address caster, address indexed token, uint256 voteQuorum, uint256 vetoQuorum);
+  event ERC721TokenholderCasterCreated(address caster, address indexed token, uint256 voteQuorum, uint256 vetoQuorum);
 
   /// @notice The ERC20 Tokenholder Action Creator (logic) contract.
   ERC20TokenholderActionCreator public immutable ERC20_TOKENHOLDER_ACTION_CREATOR_LOGIC;
@@ -59,12 +55,12 @@ contract LlamaTokenVotingFactory {
   ///@param token The address of the token to be used for voting.
   ///@param isERC20 Whether the token is an ERC20 or ERC721.
   ///@param actionCreatorRole The role required by the TokenholderActionCreator to create an action.
-  ///@param casterRole The role required by the TokenholderCaster to cast approvals and disapprovals.
+  ///@param casterRole The role required by the TokenholderCaster to cast approvals and vetos.
   ///@param creationThreshold The number of tokens required to create an action (set to 0 if not deploying action
   /// creator).
-  ///@param minApprovalPct The minimum percentage of tokens required to approve an action (set to 0 if not deploying
+  ///@param voteQuorum The minimum percentage of tokens required to approve an action (set to 0 if not deploying
   /// caster).
-  ///@param minDisapprovalPct The minimum percentage of tokens required to disapprove an action (set to 0 if not
+  ///@param vetoQuorum The minimum percentage of tokens required to disapprove an action (set to 0 if not
   /// deploying caster).
   function deployTokenVotingModule(
     address token,
@@ -72,20 +68,18 @@ contract LlamaTokenVotingFactory {
     uint8 actionCreatorRole,
     uint8 casterRole,
     uint256 creationThreshold,
-    uint256 minApprovalPct,
-    uint256 minDisapprovalPct
+    uint256 voteQuorum,
+    uint256 vetoQuorum
   ) external returns (address actionCreator, address caster) {
     ILlamaCore core = ILlamaCore(ILlamaExecutor(msg.sender).LLAMA_CORE());
     if (isERC20) {
       actionCreator =
         address(_deployERC20TokenholderActionCreator(ERC20Votes(token), core, actionCreatorRole, creationThreshold));
-      caster =
-        address(_deployERC20TokenholderCaster(ERC20Votes(token), core, casterRole, minApprovalPct, minDisapprovalPct));
+      caster = address(_deployERC20TokenholderCaster(ERC20Votes(token), core, casterRole, voteQuorum, vetoQuorum));
     } else {
       actionCreator =
         address(_deployERC721TokenholderActionCreator(ERC721Votes(token), core, actionCreatorRole, creationThreshold));
-      caster =
-        address(_deployERC721TokenholderCaster(ERC721Votes(token), core, casterRole, minApprovalPct, minDisapprovalPct));
+      caster = address(_deployERC721TokenholderCaster(ERC721Votes(token), core, casterRole, voteQuorum, vetoQuorum));
     }
   }
 
@@ -127,31 +121,31 @@ contract LlamaTokenVotingFactory {
     ERC20Votes token,
     ILlamaCore llamaCore,
     uint8 role,
-    uint256 minApprovalPct,
-    uint256 minDisapprovalPct
+    uint256 voteQuorum,
+    uint256 vetoQuorum
   ) internal returns (ERC20TokenholderCaster caster) {
     caster = ERC20TokenholderCaster(
       Clones.cloneDeterministic(
         address(ERC20_TOKENHOLDER_CASTER_LOGIC), keccak256(abi.encodePacked(address(token), msg.sender))
       )
     );
-    caster.initialize(token, llamaCore, role, minApprovalPct, minDisapprovalPct);
-    emit ERC20TokenholderCasterCreated(address(caster), address(token), minApprovalPct, minDisapprovalPct);
+    caster.initialize(token, llamaCore, role, voteQuorum, vetoQuorum);
+    emit ERC20TokenholderCasterCreated(address(caster), address(token), voteQuorum, vetoQuorum);
   }
 
   function _deployERC721TokenholderCaster(
     ERC721Votes token,
     ILlamaCore llamaCore,
     uint8 role,
-    uint256 minApprovalPct,
-    uint256 minDisapprovalPct
+    uint256 voteQuorum,
+    uint256 vetoQuorum
   ) internal returns (ERC721TokenholderCaster caster) {
     caster = ERC721TokenholderCaster(
       Clones.cloneDeterministic(
         address(ERC721_TOKENHOLDER_CASTER_LOGIC), keccak256(abi.encodePacked(address(token), msg.sender))
       )
     );
-    caster.initialize(token, llamaCore, role, minApprovalPct, minDisapprovalPct);
-    emit ERC721TokenholderCasterCreated(address(caster), address(token), minApprovalPct, minDisapprovalPct);
+    caster.initialize(token, llamaCore, role, voteQuorum, vetoQuorum);
+    emit ERC721TokenholderCasterCreated(address(caster), address(token), voteQuorum, vetoQuorum);
   }
 }
diff --git a/src/token-voting/TokenholderActionCreator.sol b/src/token-voting/TokenholderActionCreator.sol
index 79ad3a9..9d5575f 100644
--- a/src/token-voting/TokenholderActionCreator.sol
+++ b/src/token-voting/TokenholderActionCreator.sol
@@ -23,7 +23,7 @@ abstract contract TokenholderActionCreator is Initializable {
   /// @notice The default number of tokens required to create an action.
   uint256 public creationThreshold;
 
-  /// @notice The role used by this contract to cast approvals and disapprovals.
+  /// @notice The role used by this contract to cast approvals and vetos.
   /// @dev This role is expected to have the permissions to create appropriate actions.
   uint8 public role;
 
@@ -51,7 +51,7 @@ abstract contract TokenholderActionCreator is Initializable {
 
   /// @notice Mapping of token holder to function selectors to current nonces for EIP-712 signatures.
   /// @dev This is used to prevent replay attacks by incrementing the nonce for each operation (`createAction`,
-  /// `cancelAction`, `castApproval` and `castDisapproval`) signed by the token holder.
+  /// `cancelAction`, `castApproval` and `castVeto`) signed by the token holder.
   mapping(address tokenHolder => mapping(bytes4 selector => uint256 currentNonce)) public nonces;
 
   /// @dev Emitted when an action is canceled.
@@ -105,7 +105,7 @@ abstract contract TokenholderActionCreator is Initializable {
 
   /// @dev This will be called by the `initialize` of the inheriting contract.
   /// @param _llamaCore The `LlamaCore` contract for this Llama instance.
-  /// @param _role The role used by this contract to cast approvals and disapprovals.
+  /// @param _role The role used by this contract to cast approvals and vetos.
   /// @param _creationThreshold The default number of tokens required to create an action. This must
   /// be in the same decimals as the token. For example, if the token has 18 decimals and you want a
   /// creation threshold of 1000 tokens, pass in 1000e18.
diff --git a/src/token-voting/TokenholderCaster.sol b/src/token-voting/TokenholderCaster.sol
index c342609..8250115 100644
--- a/src/token-voting/TokenholderCaster.sol
+++ b/src/token-voting/TokenholderCaster.sol
@@ -12,7 +12,7 @@ import {ILlamaRelativeStrategyBase} from "src/interfaces/ILlamaRelativeStrategyB
 
 /// @title TokenholderCaster
 /// @author Llama (devsdosomething@llama.xyz)
-/// @notice This contract lets holders of a given governance token cast approvals and disapprovals
+/// @notice This contract lets holders of a given governance token cast votes and vetos
 /// on created actions.
 /// @dev This contract is deployed by `LlamaTokenVotingFactory`. Anyone can deploy this contract using the factory, but
 /// it must hold a Policy from the specified `LlamaCore` instance to actually be able to cast on an action. This
@@ -25,68 +25,68 @@ abstract contract TokenholderCaster is Initializable {
 
   /// @dev Cast counts and submission data.
   struct CastData {
-    uint96 approvalsFor; // Number of approvals casted for this action. This is the standard approval in `LlamaCore`.
-    uint96 approvalsAbstain; // Number of abstentions casted for this action. This does not exist in `LlamaCore`.
-    uint96 approvalsAgainst; // Number of approvals casted against this action. This does not exist in `LlamaCore`.
-    bool approvalSubmitted; // True if the approvals have been submitted to `LlamaCore, false otherwise.
-    uint96 disapprovalsFor; // Number of disapprovals casted for this action. This is the standard disapproval in
+    uint96 votesFor; // Number of votes casted for this action. This is the standard approval in `LlamaCore`.
+    uint96 votesAbstain; // Number of abstentions casted for this action. This does not exist in `LlamaCore`.
+    uint96 votesAgainst; // Number of votes casted against this action. This does not exist in `LlamaCore`.
+    bool voteSubmitted; // True if the votes have been submitted to `LlamaCore, false otherwise.
+    uint96 vetosFor; // Number of vetos casted for this action. This is the standard disapproval in
       // `LlamaCore`.
-    uint96 disapprovalsAbstain; // Number of abstentions casted for this action. This does not exist in `LlamaCore`.
-    uint96 disapprovalsAgainst; // Number of disapprovals casted against this action. This does not exist in
+    uint96 vetosAbstain; // Number of abstentions casted for this action. This does not exist in `LlamaCore`.
+    uint96 vetosAgainst; // Number of vetos casted against this action. This does not exist in
       // `LlamaCore`.
-    bool disapprovalSubmitted; // True if the disapprovals have been submitted to `LlamaCore`, false otherwise.
-    mapping(address tokenholder => bool) castApproval; // True if tokenholder casted approval, false otherwise.
-    mapping(address tokenholder => bool) castDisapproval; // True if tokenholder casted disapproval, false otherwise.
+    bool vetoSubmitted; // True if the vetos have been submitted to `LlamaCore`, false otherwise.
+    mapping(address tokenholder => bool) castVote; // True if tokenholder casted vote, false otherwise.
+    mapping(address tokenholder => bool) castVeto; // True if tokenholder casted veto, false otherwise.
   }
 
   // ========================
   // ======== Errors ========
   // ========================
 
-  /// @dev Thrown when a user tries to cast approval but the action has expired.
+  /// @dev Thrown when a user tries to cast vote but the action has expired.
   error ActionExpired();
 
-  /// @dev Thrown when a user tries to cast approval but the action is not active.
+  /// @dev Thrown when a user tries to cast vote but the action is not active.
   error ActionNotActive();
 
-  /// @dev Thrown when a user tries to cast disapproval but but the action is not approved.
+  /// @dev Thrown when a user tries to cast veto but but the action is not approved.
   error ActionNotApproved();
 
-  /// @dev Thrown when a user tries to cast approval but has already casted.
-  error AlreadyCastApproval();
+  /// @dev Thrown when a user tries to cast vote but has already casted.
+  error AlreadyCastVote();
 
-  /// @dev Thrown when a user tries to cast approval but the casts have already been submitted to `LlamaCore`.
-  error AlreadySubmittedApproval();
+  /// @dev Thrown when a user tries to cast vote but the casts have already been submitted to `LlamaCore`.
+  error AlreadySubmittedVote();
 
-  /// @dev Thrown when a user tries to cast disapproval but has already casted.
-  error AlreadyCastDisapproval();
+  /// @dev Thrown when a user tries to cast veto but has already casted.
+  error AlreadyCastVeto();
 
-  /// @dev Thrown when a user tries to cast disapproval but the casts have already been submitted to `LlamaCore.
-  error AlreadySubmittedDisapproval();
+  /// @dev Thrown when a user tries to cast veto but the casts have already been submitted to `LlamaCore.
+  error AlreadySubmittedVeto();
 
-  /// @dev Thrown when a user tries to cast (dis)approval but the casting period has ended.
+  /// @dev Thrown when a user tries to cast vote/veto but the casting period has ended.
   error CastingPeriodOver();
 
-  /// @dev Thrown when a user tries to cast (dis)approval but the action cannot be submitted yet.
+  /// @dev Thrown when a user tries to cast vote/veto but the action cannot be submitted yet.
   error CantSubmitYet();
 
   /// @dev Thrown when a user tries to create an action but the clock mode is not supported.
   error ClockModeNotSupported(string clockMode);
 
-  /// @dev Thrown when a user tries to cast (dis)approval but the (dis)approvals surpass the approvals.
-  error ForDoesNotSurpassAgainst(uint256 approvals, uint256 disapprovals);
+  /// @dev Thrown when a user tries to cast vote/veto but the vote/vetos surpass the votes.
+  error ForDoesNotSurpassAgainst(uint256 votes, uint256 vetos);
 
-  /// @dev Thrown when a user tries to submit approvals but there are not enough approvals.
-  error InsufficientApprovals(uint256 approvals, uint256 threshold);
+  /// @dev Thrown when a user tries to submit votes but there are not enough votes.
+  error InsufficientVotes(uint256 votes, uint256 threshold);
 
   /// @dev Thrown when a user tries to cast but does not have enough tokens.
   error InsufficientBalance(uint256 balance);
 
-  /// @dev Thrown when an invalid `approvalThreshold` is passed to the constructor.
-  error InvalidMinApprovalPct(uint256 approvalThreshold);
+  /// @dev Thrown when an invalid `voteQuorum` is passed to the constructor.
+  error InvalidVoteQuorum(uint256 approvalThreshold);
 
-  /// @dev Thrown when an invalid `disapprovalThreshold` is passed to the constructor.
-  error InvalidMinDisapprovalPct(uint256 disapprovalThreshold);
+  /// @dev Thrown when an invalid `vetoThreshold` is passed to the constructor.
+  error InvalidVetoQuorum(uint256 vetoThreshold);
 
   /// @dev Thrown when an invalid `llamaCore` address is passed to the constructor.
   error InvalidLlamaCoreAddress();
@@ -103,36 +103,36 @@ abstract contract TokenholderCaster is Initializable {
   /// @dev Thrown when an invalid `role` is passed to the constructor.
   error RoleNotInitialized(uint8 role);
 
-  /// @dev Thrown when a user tries to submit (dis)approval but the submission period has ended.
+  /// @dev Thrown when a user tries to submit vote/veto but the submission period has ended.
   error SubmissionPeriodOver();
 
   // ========================
   // ======== Events ========
   // ========================
 
-  /// @dev Emitted when an approval is cast.
-  /// @dev This is almost the same as the `ApprovalCast` event from `LlamaCore`, with the addition of the support field.
+  /// @dev Emitted when a vote is cast.
+  /// @dev This is almost the same as the `VoteCast` event from `LlamaCore`, with the addition of the support field.
   /// The two events will be nearly identical, with the `tokenholder` being the main difference. This version will emit
   /// the address of the tokenholder that casted, while the `LlamaCore` version will emit the address of this contract
   /// as the action creator. Additionally, there is no `role` emitted here as all tokenholders are eligible to vote.
-  event ApprovalCast(
+  event VoteCast(
     uint256 id, address indexed tokenholder, uint8 indexed role, uint8 indexed support, uint256 quantity, string reason
   );
 
-  /// @dev Emitted when cast approvals are submitted to the `LlamaCore` contract.
-  event ApprovalsSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
+  /// @dev Emitted when cast votes are submitted to the `LlamaCore` contract.
+  event VotesSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
 
-  /// @dev Emitted when a disapproval is cast.
-  /// @dev This is the same as the `DisapprovalCast` event from `LlamaCore`. The two events will be
+  /// @dev Emitted when a veto is cast.
+  /// @dev This is the same as the `VetoCast` event from `LlamaCore`. The two events will be
   /// nearly identical, with the `tokenholder` being the only difference. This version will emit
   /// the address of the tokenholder that casted, while the `LlamaCore` version will emit the
   /// address of this contract as the action creator.
-  event DisapprovalCast(
+  event VetoCast(
     uint256 id, address indexed tokenholder, uint8 indexed role, uint8 indexed support, uint256 quantity, string reason
   );
 
-  /// @dev Emitted when cast approvals are submitted to the `LlamaCore` contract.
-  event DisapprovalsSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
+  /// @dev Emitted when cast votes are submitted to the `LlamaCore` contract.
+  event VetosSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
   // =================================================
   // ======== Constants and Storage Variables ========
   // =================================================
@@ -146,13 +146,13 @@ abstract contract TokenholderCaster is Initializable {
   /// @notice The core contract for this Llama instance.
   ILlamaCore public llamaCore;
 
-  /// @notice The minimum % of approvals required to submit approvals to `LlamaCore`.
-  uint256 public minApprovalPct;
+  /// @notice The minimum % of votes required to submit votes to `LlamaCore`.
+  uint256 public voteQuorum;
 
-  /// @notice The minimum % of disapprovals required to submit disapprovals to `LlamaCore`.
-  uint256 public minDisapprovalPct;
+  /// @notice The minimum % of vetos required to submit vetos to `LlamaCore`.
+  uint256 public vetoQuorum;
 
-  /// @notice The role used by this contract to cast approvals and disapprovals.
+  /// @notice The role used by this contract to cast votes and vetos.
   /// @dev This role is expected to have the ability to force approve and disapprove actions.
   uint8 public role;
 
@@ -160,14 +160,14 @@ abstract contract TokenholderCaster is Initializable {
   bytes32 internal constant EIP712_DOMAIN_TYPEHASH =
     keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)");
 
-  /// @notice EIP-712 castApproval typehash.
-  bytes32 internal constant CAST_APPROVAL_BY_SIG_TYPEHASH = keccak256(
-    "CastApproval(address tokenHolder,uint8 support,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
+  /// @notice EIP-712 castVote typehash.
+  bytes32 internal constant CAST_VOTE_BY_SIG_TYPEHASH = keccak256(
+    "CastVote(address tokenHolder,uint8 support,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
   );
 
-  /// @notice EIP-712 castDisapproval typehash.
-  bytes32 internal constant CAST_DISAPPROVAL_BY_SIG_TYPEHASH = keccak256(
-    "CastDisapproval(address tokenHolder,uint8 role,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
+  /// @notice EIP-712 castVeto typehash.
+  bytes32 internal constant CAST_VETO_BY_SIG_TYPEHASH = keccak256(
+    "CastVeto(address tokenHolder,uint8 role,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
   );
 
   /// @dev EIP-712 actionInfo typehash.
@@ -180,46 +180,44 @@ abstract contract TokenholderCaster is Initializable {
 
   /// @notice Mapping of tokenholders to function selectors to current nonces for EIP-712 signatures.
   /// @dev This is used to prevent replay attacks by incrementing the nonce for each operation (`createAction`,
-  /// `cancelAction`, `castApproval` and `castDisapproval`) signed by the tokenholders.
+  /// `cancelAction`, `castVote` and `castVeto`) signed by the tokenholders.
   mapping(address tokenholders => mapping(bytes4 selector => uint256 currentNonce)) public nonces;
 
   /// @dev This will be called by the `initialize` of the inheriting contract.
   /// @param _llamaCore The `LlamaCore` contract for this Llama instance.
-  /// @param _role The role used by this contract to cast approvals and disapprovals.
-  /// @param _minApprovalPct The minimum % of approvals required to submit approvals to `LlamaCore`.
-  /// @param _minDisapprovalPct The minimum % of disapprovals required to submit disapprovals to `LlamaCore`.
+  /// @param _role The role used by this contract to cast votes and vetos.
+  /// @param _voteQuorum The minimum % of votes required to submit votes to `LlamaCore`.
+  /// @param _vetoQuorum The minimum % of vetos required to submit vetos to `LlamaCore`.
   function __initializeTokenholderCasterMinimalProxy(
     ILlamaCore _llamaCore,
     uint8 _role,
-    uint256 _minApprovalPct,
-    uint256 _minDisapprovalPct
+    uint256 _voteQuorum,
+    uint256 _vetoQuorum
   ) internal {
     if (_llamaCore.actionsCount() < 0) revert InvalidLlamaCoreAddress();
     if (_role > _llamaCore.policy().numRoles()) revert RoleNotInitialized(_role);
-    if (_minApprovalPct > ONE_HUNDRED_IN_BPS || _minApprovalPct <= 0) revert InvalidMinApprovalPct(_minApprovalPct);
-    if (_minDisapprovalPct > ONE_HUNDRED_IN_BPS || _minDisapprovalPct <= 0) {
-      revert InvalidMinDisapprovalPct(_minDisapprovalPct);
-    }
+    if (_voteQuorum > ONE_HUNDRED_IN_BPS || _voteQuorum <= 0) revert InvalidVoteQuorum(_voteQuorum);
+    if (_vetoQuorum > ONE_HUNDRED_IN_BPS || _vetoQuorum <= 0) revert InvalidVetoQuorum(_vetoQuorum);
 
     llamaCore = _llamaCore;
     role = _role;
-    minApprovalPct = _minApprovalPct;
-    minDisapprovalPct = _minDisapprovalPct;
+    voteQuorum = _voteQuorum;
+    vetoQuorum = _vetoQuorum;
   }
 
-  /// @notice How tokenholders add their support of the approval of an action with a reason.
+  /// @notice How tokenholders add their support to the vote of an action with a reason.
   /// @dev Use `""` for `reason` if there is no reason.
   /// @param actionInfo Data required to create an action.
-  /// @param support The tokenholder's support of the approval of the action.
+  /// @param support The tokenholder's support of the vote of the action.
   ///   0 = Against
   ///   1 = For
   ///   2 = Abstain, but this is not currently supported.
-  /// @param reason The reason given for the approval by the tokenholder.
-  function castApproval(ActionInfo calldata actionInfo, uint8 support, string calldata reason) external {
-    _castApproval(msg.sender, actionInfo, support, reason);
+  /// @param reason The reason given for the vote by the tokenholder.
+  function castVote(ActionInfo calldata actionInfo, uint8 support, string calldata reason) external {
+    _castVote(msg.sender, actionInfo, support, reason);
   }
 
-  function castApprovalBySig(
+  function castVoteBySig(
     address caster,
     uint8 support,
     ActionInfo calldata actionInfo,
@@ -228,25 +226,25 @@ abstract contract TokenholderCaster is Initializable {
     bytes32 r,
     bytes32 s
   ) external {
-    bytes32 digest = _getCastApprovalTypedDataHash(caster, support, actionInfo, reason);
+    bytes32 digest = _getCastVoteTypedDataHash(caster, support, actionInfo, reason);
     address signer = ecrecover(digest, v, r, s);
     if (signer == address(0) || signer != caster) revert InvalidSignature();
-    _castApproval(signer, actionInfo, support, reason);
+    _castVote(signer, actionInfo, support, reason);
   }
 
-  /// @notice How tokenholders add their support of the dapproval of an action with a reason.
+  /// @notice How tokenholders add their support to the veto of an action with a reason.
   /// @dev Use `""` for `reason` if there is no reason.
   /// @param actionInfo Data required to create an action.
-  /// @param support The tokenholder's support of the approval of the action.
+  /// @param support The tokenholder's support of the veto of the action.
   ///   0 = Against
   ///   1 = For
   ///   2 = Abstain, but this is not currently supported.
-  /// @param reason The reason given for the approval by the tokenholder.
-  function castDisapproval(ActionInfo calldata actionInfo, uint8 support, string calldata reason) external {
-    _castDisapproval(msg.sender, actionInfo, support, reason);
+  /// @param reason The reason given for the veto by the tokenholder.
+  function castVeto(ActionInfo calldata actionInfo, uint8 support, string calldata reason) external {
+    _castVeto(msg.sender, actionInfo, support, reason);
   }
 
-  function castDisapprovalBySig(
+  function castVetoBySig(
     address caster,
     uint8 support,
     ActionInfo calldata actionInfo,
@@ -255,26 +253,26 @@ abstract contract TokenholderCaster is Initializable {
     bytes32 r,
     bytes32 s
   ) external {
-    bytes32 digest = _getCastDisapprovalTypedDataHash(caster, support, actionInfo, reason);
+    bytes32 digest = _getCastVetoTypedDataHash(caster, support, actionInfo, reason);
     address signer = ecrecover(digest, v, r, s);
     if (signer == address(0) || signer != caster) revert InvalidSignature();
-    _castDisapproval(signer, actionInfo, support, reason);
+    _castVeto(signer, actionInfo, support, reason);
   }
 
-  /// @notice Submits cast approvals to the `LlamaCore` contract.
+  /// @notice Submits cast votes to the `LlamaCore` contract.
   /// @param actionInfo Data required to create an action.
   /// @dev this function can be called by anyone
-  function submitApprovals(ActionInfo calldata actionInfo) external {
+  function submitVotes(ActionInfo calldata actionInfo) external {
     Action memory action = llamaCore.getAction(actionInfo.id);
 
-    if (casts[actionInfo.id].approvalSubmitted) revert AlreadySubmittedApproval();
+    if (casts[actionInfo.id].voteSubmitted) revert AlreadySubmittedVote();
     // check to make sure the casting period has ended
-    uint256 approvalPeriod = ILlamaRelativeStrategyBase(address(actionInfo.strategy)).approvalPeriod();
-    if (block.timestamp < action.creationTime + (approvalPeriod * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS) {
+    uint256 votingPeriod = ILlamaRelativeStrategyBase(address(actionInfo.strategy)).approvalPeriod();
+    if (block.timestamp < action.creationTime + (votingPeriod * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS) {
       revert CantSubmitYet();
     }
 
-    if (block.timestamp > action.creationTime + approvalPeriod) revert SubmissionPeriodOver();
+    if (block.timestamp > action.creationTime + votingPeriod) revert SubmissionPeriodOver();
 
     /// @dev only timestamp mode is supported for now.
     string memory clockMode = _getClockMode();
@@ -283,29 +281,29 @@ abstract contract TokenholderCaster is Initializable {
     }
 
     uint256 totalSupply = _getPastTotalSupply(action.creationTime - 1);
-    uint96 approvalsFor = casts[actionInfo.id].approvalsFor;
-    uint96 approvalsAgainst = casts[actionInfo.id].approvalsAgainst;
-    uint96 approvalsAbstain = casts[actionInfo.id].approvalsAbstain;
-    uint256 threshold = FixedPointMathLib.mulDivUp(totalSupply, minApprovalPct, ONE_HUNDRED_IN_BPS);
-    if (approvalsFor < threshold) revert InsufficientApprovals(approvalsFor, threshold);
-    if (approvalsFor <= approvalsAgainst) revert ForDoesNotSurpassAgainst(approvalsFor, approvalsAgainst);
-
-    casts[actionInfo.id].approvalSubmitted = true;
+    uint96 votesFor = casts[actionInfo.id].votesFor;
+    uint96 votesAgainst = casts[actionInfo.id].votesAgainst;
+    uint96 votesAbstain = casts[actionInfo.id].votesAbstain;
+    uint256 threshold = FixedPointMathLib.mulDivUp(totalSupply, voteQuorum, ONE_HUNDRED_IN_BPS);
+    if (votesFor < threshold) revert InsufficientVotes(votesFor, threshold);
+    if (votesFor <= votesAgainst) revert ForDoesNotSurpassAgainst(votesFor, votesAgainst);
+
+    casts[actionInfo.id].voteSubmitted = true;
     llamaCore.castApproval(role, actionInfo, "");
-    emit ApprovalsSubmitted(actionInfo.id, approvalsFor, approvalsAgainst, approvalsAbstain);
+    emit VotesSubmitted(actionInfo.id, votesFor, votesAgainst, votesAbstain);
   }
 
-  /// @notice Submits cast approvals to the `LlamaCore` contract.
+  /// @notice Submits cast votes to the `LlamaCore` contract.
   /// @param actionInfo Data required to create an action.
   /// @dev this function can be called by anyone
-  function submitDisapprovals(ActionInfo calldata actionInfo) external {
+  function submitVetos(ActionInfo calldata actionInfo) external {
     Action memory action = llamaCore.getAction(actionInfo.id);
 
     actionInfo.strategy.checkIfDisapprovalEnabled(actionInfo, msg.sender, role); // Reverts if not allowed.
-    if (casts[actionInfo.id].disapprovalSubmitted) revert AlreadySubmittedDisapproval();
+    if (casts[actionInfo.id].vetoSubmitted) revert AlreadySubmittedVeto();
 
     uint256 queuingPeriod = ILlamaRelativeStrategyBase(address(actionInfo.strategy)).queuingPeriod();
-    // check to make sure the current timestamp is within the submitDisapprovalBuffer 9period
+    // check to make sure the current timestamp is within the submitVetoBuffer period
     if (block.timestamp < action.minExecutionTime - (queuingPeriod * ONE_THIRD_IN_BPS) / ONE_HUNDRED_IN_BPS) {
       revert CantSubmitYet();
     }
@@ -317,26 +315,24 @@ abstract contract TokenholderCaster is Initializable {
     }
 
     uint256 totalSupply = _getPastTotalSupply(action.creationTime - 1);
-    uint96 disapprovalsFor = casts[actionInfo.id].disapprovalsFor;
-    uint96 disapprovalsAgainst = casts[actionInfo.id].disapprovalsAgainst;
-    uint96 disapprovalsAbstain = casts[actionInfo.id].disapprovalsAbstain;
-    uint256 threshold = FixedPointMathLib.mulDivUp(totalSupply, minDisapprovalPct, ONE_HUNDRED_IN_BPS);
-    if (disapprovalsFor < threshold) revert InsufficientApprovals(disapprovalsFor, threshold);
-    if (disapprovalsFor <= disapprovalsAgainst) revert ForDoesNotSurpassAgainst(disapprovalsFor, disapprovalsAgainst);
-
-    casts[actionInfo.id].disapprovalSubmitted = true;
+    uint96 vetosFor = casts[actionInfo.id].vetosFor;
+    uint96 vetosAgainst = casts[actionInfo.id].vetosAgainst;
+    uint96 vetosAbstain = casts[actionInfo.id].vetosAbstain;
+    uint256 threshold = FixedPointMathLib.mulDivUp(totalSupply, vetoQuorum, ONE_HUNDRED_IN_BPS);
+    if (vetosFor < threshold) revert InsufficientVotes(vetosFor, threshold);
+    if (vetosFor <= vetosAgainst) revert ForDoesNotSurpassAgainst(vetosFor, vetosAgainst);
+
+    casts[actionInfo.id].vetoSubmitted = true;
     llamaCore.castDisapproval(role, actionInfo, "");
-    emit DisapprovalsSubmitted(actionInfo.id, disapprovalsFor, disapprovalsAgainst, disapprovalsAbstain);
+    emit VetosSubmitted(actionInfo.id, vetosFor, vetosAgainst, vetosAbstain);
   }
 
-  function _castApproval(address caster, ActionInfo calldata actionInfo, uint8 support, string calldata reason)
-    internal
-  {
+  function _castVote(address caster, ActionInfo calldata actionInfo, uint8 support, string calldata reason) internal {
     Action memory action = llamaCore.getAction(actionInfo.id);
 
     actionInfo.strategy.checkIfApprovalEnabled(actionInfo, caster, role); // Reverts if not allowed.
     if (llamaCore.getActionState(actionInfo) != uint8(ActionState.Active)) revert ActionNotActive();
-    if (casts[actionInfo.id].castApproval[caster]) revert AlreadyCastApproval();
+    if (casts[actionInfo.id].castVote[caster]) revert AlreadyCastVote();
     if (
       block.timestamp
         > action.creationTime
@@ -347,22 +343,20 @@ abstract contract TokenholderCaster is Initializable {
     uint256 balance = _getPastVotes(caster, action.creationTime - 1);
     _preCastAssertions(balance, support);
 
-    if (support == 0) casts[actionInfo.id].approvalsAgainst += LlamaUtils.toUint96(balance);
-    else if (support == 1) casts[actionInfo.id].approvalsFor += LlamaUtils.toUint96(balance);
-    else if (support == 2) casts[actionInfo.id].approvalsAbstain += LlamaUtils.toUint96(balance);
-    casts[actionInfo.id].castApproval[caster] = true;
-    emit ApprovalCast(actionInfo.id, caster, role, support, balance, reason);
+    if (support == 0) casts[actionInfo.id].votesAgainst += LlamaUtils.toUint96(balance);
+    else if (support == 1) casts[actionInfo.id].votesFor += LlamaUtils.toUint96(balance);
+    else if (support == 2) casts[actionInfo.id].votesAbstain += LlamaUtils.toUint96(balance);
+    casts[actionInfo.id].castVote[caster] = true;
+    emit VoteCast(actionInfo.id, caster, role, support, balance, reason);
   }
 
-  function _castDisapproval(address caster, ActionInfo calldata actionInfo, uint8 support, string calldata reason)
-    internal
-  {
+  function _castVeto(address caster, ActionInfo calldata actionInfo, uint8 support, string calldata reason) internal {
     Action memory action = llamaCore.getAction(actionInfo.id);
 
     actionInfo.strategy.checkIfDisapprovalEnabled(actionInfo, caster, role); // Reverts if not allowed.
     if (!actionInfo.strategy.isActionApproved(actionInfo)) revert ActionNotApproved();
     if (actionInfo.strategy.isActionExpired(actionInfo)) revert ActionExpired();
-    if (casts[actionInfo.id].castDisapproval[caster]) revert AlreadyCastDisapproval();
+    if (casts[actionInfo.id].castVeto[caster]) revert AlreadyCastVeto();
     if (
       block.timestamp
         > action.minExecutionTime
@@ -373,11 +367,11 @@ abstract contract TokenholderCaster is Initializable {
     uint256 balance = _getPastVotes(caster, action.creationTime - 1);
     _preCastAssertions(balance, support);
 
-    if (support == 0) casts[actionInfo.id].disapprovalsAgainst += LlamaUtils.toUint96(balance);
-    else if (support == 1) casts[actionInfo.id].disapprovalsFor += LlamaUtils.toUint96(balance);
-    else if (support == 2) casts[actionInfo.id].disapprovalsAbstain += LlamaUtils.toUint96(balance);
-    casts[actionInfo.id].castDisapproval[caster] = true;
-    emit DisapprovalCast(actionInfo.id, caster, role, support, balance, reason);
+    if (support == 0) casts[actionInfo.id].vetosAgainst += LlamaUtils.toUint96(balance);
+    else if (support == 1) casts[actionInfo.id].vetosFor += LlamaUtils.toUint96(balance);
+    else if (support == 2) casts[actionInfo.id].vetosAbstain += LlamaUtils.toUint96(balance);
+    casts[actionInfo.id].castVeto[caster] = true;
+    emit VetoCast(actionInfo.id, caster, role, support, balance, reason);
   }
 
   function _preCastAssertions(uint256 balance, uint8 support) internal view {
@@ -422,17 +416,17 @@ abstract contract TokenholderCaster is Initializable {
     );
   }
 
-  /// @dev Returns the hash of the ABI-encoded EIP-712 message for the `CastApproval` domain, which can be used to
+  /// @dev Returns the hash of the ABI-encoded EIP-712 message for the `CastVote` domain, which can be used to
   /// recover the signer.
-  function _getCastApprovalTypedDataHash(
+  function _getCastVoteTypedDataHash(
     address tokenholder,
     uint8 support,
     ActionInfo calldata actionInfo,
     string calldata reason
   ) internal returns (bytes32) {
-    bytes32 castApprovalHash = keccak256(
+    bytes32 castVoteHash = keccak256(
       abi.encode(
-        CAST_APPROVAL_BY_SIG_TYPEHASH,
+        CAST_VOTE_BY_SIG_TYPEHASH,
         tokenholder,
         support,
         _getActionInfoHash(actionInfo),
@@ -441,20 +435,20 @@ abstract contract TokenholderCaster is Initializable {
       )
     );
 
-    return keccak256(abi.encodePacked("\x19\x01", _getDomainHash(), castApprovalHash));
+    return keccak256(abi.encodePacked("\x19\x01", _getDomainHash(), castVoteHash));
   }
 
-  /// @dev Returns the hash of the ABI-encoded EIP-712 message for the `CastDisapproval` domain, which can be used to
+  /// @dev Returns the hash of the ABI-encoded EIP-712 message for the `CastVeto` domain, which can be used to
   /// recover the signer.
-  function _getCastDisapprovalTypedDataHash(
+  function _getCastVetoTypedDataHash(
     address tokenholder,
     uint8 support,
     ActionInfo calldata actionInfo,
     string calldata reason
   ) internal returns (bytes32) {
-    bytes32 castDisapprovalHash = keccak256(
+    bytes32 castVetoHash = keccak256(
       abi.encode(
-        CAST_DISAPPROVAL_BY_SIG_TYPEHASH,
+        CAST_VETO_BY_SIG_TYPEHASH,
         tokenholder,
         support,
         _getActionInfoHash(actionInfo),
@@ -463,7 +457,7 @@ abstract contract TokenholderCaster is Initializable {
       )
     );
 
-    return keccak256(abi.encodePacked("\x19\x01", _getDomainHash(), castDisapprovalHash));
+    return keccak256(abi.encodePacked("\x19\x01", _getDomainHash(), castVetoHash));
   }
 
   /// @dev Returns the hash of `actionInfo`.
diff --git a/test/token-voting/ERC20TokenholderCaster.t.sol b/test/token-voting/ERC20TokenholderCaster.t.sol
index e9f70c2..389aaf3 100644
--- a/test/token-voting/ERC20TokenholderCaster.t.sol
+++ b/test/token-voting/ERC20TokenholderCaster.t.sol
@@ -17,17 +17,17 @@ import {ERC20TokenholderCaster} from "src/token-voting/ERC20TokenholderCaster.so
 import {TokenholderCaster} from "src/token-voting/TokenholderCaster.sol";
 
 contract ERC20TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigUtils {
-  event ApprovalCast(
+  event VoteCast(
     uint256 id, address indexed policyholder, uint8 indexed role, uint8 indexed support, uint256 quantity, string reason
   );
 
-  event ApprovalsSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
+  event VotesSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
 
-  event DisapprovalCast(
+  event VetoCast(
     uint256 id, address indexed policyholder, uint8 indexed role, uint8 indexed support, uint256 quantity, string reason
   );
 
-  event DisapprovalsSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
+  event VetosSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
 
   ActionInfo actionInfo;
   ERC20TokenholderCaster erc20TokenholderCaster;
@@ -73,22 +73,22 @@ contract ERC20TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigUt
     );
   }
 
-  function castApprovalsFor() public {
+  function castVotesFor() public {
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
     vm.prank(tokenHolder3);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
-  function castDisapprovalsFor() public {
+  function castVetosFor() public {
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
     vm.prank(tokenHolder3);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 }
 
@@ -116,20 +116,20 @@ contract ERC20TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigUt
 //     new ERC20TokenholderCaster(erc20VotesToken, ILlamaCore(address(CORE)), uint8(255), uint256(1), uint256(1));
 //   }
 
-//   function test_RevertsIf_InvalidMinApprovalPct() public {
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinApprovalPct.selector, uint256(0)));
+//   function test_RevertsIf_InvalidVoteQuorum() public {
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVoteQuorum.selector, uint256(0)));
 //     new ERC20TokenholderCaster(erc20VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(0),
 // uint256(1));
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinApprovalPct.selector, uint256(10_001)));
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVoteQuorum.selector, uint256(10_001)));
 //     new ERC20TokenholderCaster(erc20VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(10_001),
 // uint256(1));
 //   }
 
-//   function test_RevertsIf_InvalidMinDisapprovalPct() public {
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinDisapprovalPct.selector, uint256(0)));
+//   function test_RevertsIf_InvalidVetoQuorum() public {
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVetoQuorum.selector, uint256(0)));
 //     new ERC20TokenholderCaster(erc20VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(1),
 // uint256(0));
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinDisapprovalPct.selector, uint256(10_001)));
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVetoQuorum.selector, uint256(10_001)));
 //     new ERC20TokenholderCaster(erc20VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(1),
 // uint256(10_001));
 //   }
@@ -151,11 +151,11 @@ contract ERC20TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigUt
 //   }
 // }
 
-contract CastApproval is ERC20TokenholderCasterTest {
+contract CastVote is ERC20TokenholderCasterTest {
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc20TokenholderCaster.castApproval(notActionInfo, 1, "");
+    erc20TokenholderCaster.castVote(notActionInfo, 1, "");
   }
 
   function test_RevertsIf_ApprovalNotEnabled() public {
@@ -167,44 +167,44 @@ contract CastApproval is ERC20TokenholderCasterTest {
     casterWithWrongRole.initialize(erc20VotesToken, CORE, madeUpRole, ERC20_MIN_APPROVAL_PCT, ERC20_MIN_DISAPPROVAL_PCT);
 
     vm.expectRevert(abi.encodeWithSelector(ILlamaRelativeStrategyBase.InvalidRole.selector, tokenVotingCasterRole));
-    casterWithWrongRole.castApproval(actionInfo, 1, "");
+    casterWithWrongRole.castVote(actionInfo, 1, "");
   }
 
   function test_RevertsIf_ActionNotActive() public {
     vm.warp(block.timestamp + 1 days + 1);
     vm.expectRevert(TokenholderCaster.ActionNotActive.selector);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
-  function test_RevertsIf_AlreadyCastApproval() public {
+  function test_RevertsIf_AlreadyCastVote() public {
     vm.startPrank(tokenHolder1);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
 
-    vm.expectRevert(TokenholderCaster.AlreadyCastApproval.selector);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    vm.expectRevert(TokenholderCaster.AlreadyCastVote.selector);
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InvalidSupport() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidSupport.selector, uint8(3)));
-    erc20TokenholderCaster.castApproval(actionInfo, 3, "");
+    erc20TokenholderCaster.castVote(actionInfo, 3, "");
   }
 
   function test_RevertsIf_CastingPeriodOver() public {
     vm.warp(block.timestamp + ((1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS) + 1); // 2/3 of the approval period
     vm.expectRevert(TokenholderCaster.CastingPeriodOver.selector);
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InsufficientBalance() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientBalance.selector, 0));
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
   function test_CastsApprovalCorrectly(uint8 support) public {
     support = uint8(bound(support, 0, 2));
     vm.expectEmit();
-    emit ApprovalCast(
+    emit VoteCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -213,12 +213,12 @@ contract CastApproval is ERC20TokenholderCasterTest {
       ""
     );
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castApproval(actionInfo, support, "");
+    erc20TokenholderCaster.castVote(actionInfo, support, "");
   }
 
   function test_CastsApprovalCorrectly_WithReason() public {
     vm.expectEmit();
-    emit ApprovalCast(
+    emit VoteCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -227,11 +227,11 @@ contract CastApproval is ERC20TokenholderCasterTest {
       "reason"
     );
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "reason");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "reason");
   }
 }
 
-contract CastApprovalBySig is ERC20TokenholderCasterTest {
+contract CastVoteBySig is ERC20TokenholderCasterTest {
   function setUp() public virtual override {
     ERC20TokenholderCasterTest.setUp();
   }
@@ -241,26 +241,21 @@ contract CastApprovalBySig is ERC20TokenholderCasterTest {
     view
     returns (uint8 v, bytes32 r, bytes32 s)
   {
-    LlamaCoreSigUtils.CastApproval memory castApproval = LlamaCoreSigUtils.CastApproval({
-      actionInfo: _actionInfo,
-      support: 1,
-      reason: "",
-      tokenHolder: tokenHolder1,
-      nonce: 0
-    });
-    bytes32 digest = getCastApprovalTypedDataHash(castApproval);
+    LlamaCoreSigUtils.CastVote memory castVote =
+      LlamaCoreSigUtils.CastVote({actionInfo: _actionInfo, support: 1, reason: "", tokenHolder: tokenHolder1, nonce: 0});
+    bytes32 digest = getCastVoteTypedDataHash(castVote);
     (v, r, s) = vm.sign(privateKey, digest);
   }
 
-  function castApprovalBySig(ActionInfo memory _actionInfo, uint8 support, uint8 v, bytes32 r, bytes32 s) internal {
-    erc20TokenholderCaster.castApprovalBySig(tokenHolder1, support, _actionInfo, "", v, r, s);
+  function castVoteBySig(ActionInfo memory _actionInfo, uint8 support, uint8 v, bytes32 r, bytes32 s) internal {
+    erc20TokenholderCaster.castVoteBySig(tokenHolder1, support, _actionInfo, "", v, r, s);
   }
 
   function test_CastsApprovalBySig() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.expectEmit();
-    emit ApprovalCast(
+    emit VoteCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -269,24 +264,24 @@ contract CastApprovalBySig is ERC20TokenholderCasterTest {
       ""
     );
 
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 
   function test_CheckNonceIncrements() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
-    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castApprovalBySig.selector), 0);
-    castApprovalBySig(actionInfo, 1, v, r, s);
-    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castApprovalBySig.selector), 1);
+    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVoteBySig.selector), 0);
+    castVoteBySig(actionInfo, 1, v, r, s);
+    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVoteBySig.selector), 1);
   }
 
   function test_OperationCannotBeReplayed() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
     // Invalid Signature error since the recovered signer address during the second call is not the same as
     // erc20VotesTokenholder since nonce has increased.
     vm.expectRevert(TokenholderCaster.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 
   function test_RevertIf_SignerIsNotTokenHolder() public {
@@ -295,7 +290,7 @@ contract CastApprovalBySig is ERC20TokenholderCasterTest {
     // Invalid Signature error since the recovered signer address is not the same as the erc20VotesTokenholder passed
     // in as parameter.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 
   function test_RevertIf_SignerIsZeroAddress() public {
@@ -303,38 +298,38 @@ contract CastApprovalBySig is ERC20TokenholderCasterTest {
     // Invalid Signature error since the recovered signer address is zero address due to invalid signature values
     // (v,r,s).
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, (v + 1), r, s);
+    castVoteBySig(actionInfo, 1, (v + 1), r, s);
   }
 
   function test_RevertIf_TokenHolderIncrementsNonce() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.incrementNonce(ILlamaCore.castApprovalBySig.selector);
+    erc20TokenholderCaster.incrementNonce(TokenholderCaster.castVoteBySig.selector);
 
     // Invalid Signature error since the recovered signer address during the call is not the same as
     // erc20VotesTokenholder since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 }
 
-contract CastDisapproval is ERC20TokenholderCasterTest {
+contract CastVeto is ERC20TokenholderCasterTest {
   function setUp() public virtual override {
     ERC20TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc20TokenholderCaster.castDisapproval(notActionInfo, tokenVotingCasterRole, "");
+    erc20TokenholderCaster.castVeto(notActionInfo, tokenVotingCasterRole, "");
   }
 
   function test_RevertsIf_DisapprovalNotEnabled() public {
@@ -346,38 +341,38 @@ contract CastDisapproval is ERC20TokenholderCasterTest {
     casterWithWrongRole.initialize(erc20VotesToken, CORE, madeUpRole, ERC20_MIN_APPROVAL_PCT, ERC20_MIN_DISAPPROVAL_PCT);
 
     vm.expectRevert(abi.encodeWithSelector(ILlamaRelativeStrategyBase.InvalidRole.selector, tokenVotingCasterRole));
-    casterWithWrongRole.castDisapproval(actionInfo, madeUpRole, "");
+    casterWithWrongRole.castVeto(actionInfo, madeUpRole, "");
   }
 
-  function test_RevertsIf_AlreadyCastApproval() public {
+  function test_RevertsIf_AlreadyCastVote() public {
     vm.startPrank(tokenHolder1);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
 
-    vm.expectRevert(TokenholderCaster.AlreadyCastDisapproval.selector);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    vm.expectRevert(TokenholderCaster.AlreadyCastVeto.selector);
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InvalidSupport() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidSupport.selector, uint8(3)));
-    erc20TokenholderCaster.castDisapproval(actionInfo, 3, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 3, "");
   }
 
   function test_RevertsIf_CastingPeriodOver() public {
     // TODO why do we need to add 2 here
     vm.warp(block.timestamp + 2 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS); // 2/3 of the approval period
     vm.expectRevert(TokenholderCaster.CastingPeriodOver.selector);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InsufficientBalance() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientBalance.selector, 0));
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 
   function test_CastsDisapprovalCorrectly(uint8 support) public {
     support = uint8(bound(support, 0, 2));
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -386,12 +381,12 @@ contract CastDisapproval is ERC20TokenholderCasterTest {
       ""
     );
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castDisapproval(actionInfo, support, "");
+    erc20TokenholderCaster.castVeto(actionInfo, support, "");
   }
 
   function test_CastsDisapprovalCorrectly_WithReason() public {
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -400,20 +395,20 @@ contract CastDisapproval is ERC20TokenholderCasterTest {
       "reason"
     );
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "reason");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "reason");
   }
 }
 
-contract CastDisapprovalBySig is ERC20TokenholderCasterTest {
+contract CastVetoBySig is ERC20TokenholderCasterTest {
   function setUp() public virtual override {
     ERC20TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function createOffchainSignature(ActionInfo memory _actionInfo, uint256 privateKey)
@@ -421,26 +416,21 @@ contract CastDisapprovalBySig is ERC20TokenholderCasterTest {
     view
     returns (uint8 v, bytes32 r, bytes32 s)
   {
-    LlamaCoreSigUtils.CastDisapproval memory castDisapproval = LlamaCoreSigUtils.CastDisapproval({
-      actionInfo: _actionInfo,
-      support: 1,
-      reason: "",
-      tokenHolder: tokenHolder1,
-      nonce: 0
-    });
-    bytes32 digest = getCastDisapprovalTypedDataHash(castDisapproval);
+    LlamaCoreSigUtils.CastVeto memory castVeto =
+      LlamaCoreSigUtils.CastVeto({actionInfo: _actionInfo, support: 1, reason: "", tokenHolder: tokenHolder1, nonce: 0});
+    bytes32 digest = getCastVetoTypedDataHash(castVeto);
     (v, r, s) = vm.sign(privateKey, digest);
   }
 
-  function castDisapprovalBySig(ActionInfo memory _actionInfo, uint8 v, bytes32 r, bytes32 s) internal {
-    erc20TokenholderCaster.castDisapprovalBySig(tokenHolder1, 1, _actionInfo, "", v, r, s);
+  function castVetoBySig(ActionInfo memory _actionInfo, uint8 v, bytes32 r, bytes32 s) internal {
+    erc20TokenholderCaster.castVetoBySig(tokenHolder1, 1, _actionInfo, "", v, r, s);
   }
 
   function test_CastsDisapprovalBySig() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -449,28 +439,28 @@ contract CastDisapprovalBySig is ERC20TokenholderCasterTest {
       ""
     );
 
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
 
     // assertEq(CORE.getAction(0).totalDisapprovals, 1);
-    // assertEq(CORE.disapprovals(0, disapproverDrake), true);
+    // assertEq(CORE.vetos(0, disapproverDrake), true);
   }
 
   function test_CheckNonceIncrements() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
-    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, ILlamaCore.castDisapprovalBySig.selector), 0);
-    castDisapprovalBySig(actionInfo, v, r, s);
-    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, ILlamaCore.castDisapprovalBySig.selector), 1);
+    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVetoBySig.selector), 0);
+    castVetoBySig(actionInfo, v, r, s);
+    assertEq(erc20TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVetoBySig.selector), 1);
   }
 
   function test_OperationCannotBeReplayed() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
     // Invalid Signature error since the recovered signer address during the second call is not the same as
     // erc20VotesTokenholder
     // since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
   }
 
   function test_RevertIf_SignerIsNotPolicyHolder() public {
@@ -480,7 +470,7 @@ contract CastDisapprovalBySig is ERC20TokenholderCasterTest {
     // erc20VotesTokenholder
     // since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
   }
 
   function test_RevertIf_SignerIsZeroAddress() public {
@@ -488,27 +478,27 @@ contract CastDisapprovalBySig is ERC20TokenholderCasterTest {
     // Invalid Signature error since the recovered signer address is zero address due to invalid signature values
     // (v,r,s).
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, (v + 1), r, s);
+    castVetoBySig(actionInfo, (v + 1), r, s);
   }
 
   function test_RevertIf_PolicyholderIncrementsNonce() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.incrementNonce(ILlamaCore.castDisapprovalBySig.selector);
+    erc20TokenholderCaster.incrementNonce(TokenholderCaster.castVetoBySig.selector);
 
     // Invalid Signature error since the recovered signer address during the second call is not the same as policyholder
     // since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
   }
 
   function test_FailsIfDisapproved() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
-    // First disapproval.
+    // First veto.
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -516,16 +506,16 @@ contract CastDisapprovalBySig is ERC20TokenholderCasterTest {
       erc20VotesToken.getPastVotes(tokenHolder1, erc20VotesToken.clock() - 1),
       ""
     );
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
     // assertEq(CORE.getAction(actionInfo.id).totalDisapprovals, 1);
 
-    // Second disapproval.
+    // Second veto.
     vm.prank(tokenHolder2);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
 
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    erc20TokenholderCaster.submitVetos(actionInfo);
 
     // Assertions.
     ActionState state = ActionState(CORE.getActionState(actionInfo));
@@ -540,7 +530,7 @@ contract SubmitApprovals is ERC20TokenholderCasterTest {
   function setUp() public virtual override {
     ERC20TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
   }
@@ -548,57 +538,57 @@ contract SubmitApprovals is ERC20TokenholderCasterTest {
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc20TokenholderCaster.submitApprovals(notActionInfo);
+    erc20TokenholderCaster.submitVotes(notActionInfo);
   }
 
-  function test_RevertsIf_AlreadySubmittedApproval() public {
+  function test_RevertsIf_AlreadySubmittedVote() public {
     vm.startPrank(tokenHolder1);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
 
-    vm.expectRevert(TokenholderCaster.AlreadySubmittedApproval.selector);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    vm.expectRevert(TokenholderCaster.AlreadySubmittedVote.selector);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_SubmissionPeriodOver() public {
     // TODO why do we need to add 2 here
     vm.warp(block.timestamp + ((1 days * ONE_THIRD_IN_BPS) / ONE_HUNDRED_IN_BPS) + 2); // 1/3 of the approval period
     vm.expectRevert(TokenholderCaster.SubmissionPeriodOver.selector);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
-  function test_RevertsIf_InsufficientApprovals() public {
+  function test_RevertsIf_InsufficientVotes() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
-    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientApprovals.selector, 0, 75_000e18));
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientVotes.selector, 0, 75_000e18));
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_CastingPeriodNotOver() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
     vm.warp(block.timestamp + (1 days * ONE_THIRD_IN_BPS) / ONE_HUNDRED_IN_BPS); // 1/3 of the approval period
     vm.expectRevert(TokenholderCaster.CantSubmitYet.selector);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_ForDoesNotSurpassAgainst() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
 
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVote(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc20TokenholderCaster.castApproval(actionInfo, 0, "");
+    erc20TokenholderCaster.castVote(actionInfo, 0, "");
     vm.prank(tokenHolder3);
-    erc20TokenholderCaster.castApproval(actionInfo, 0, "");
+    erc20TokenholderCaster.castVote(actionInfo, 0, "");
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.ForDoesNotSurpassAgainst.selector, 250_000e18, 500_000e18));
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_SubmitsApprovalsCorrectly() public {
     vm.expectEmit();
-    emit ApprovalsSubmitted(actionInfo.id, 750_000e18, 0, 0);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    emit VotesSubmitted(actionInfo.id, 750_000e18, 0, 0);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 }
 
@@ -606,18 +596,18 @@ contract SubmitDisapprovals is ERC20TokenholderCasterTest {
   function setUp() public virtual override {
     ERC20TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc20TokenholderCaster.submitDisapprovals(notActionInfo);
+    erc20TokenholderCaster.submitVetos(notActionInfo);
   }
 
   function test_RevertsIf_DisapprovalNotEnabled() public {
@@ -629,10 +619,10 @@ contract SubmitDisapprovals is ERC20TokenholderCasterTest {
     );
     casterWithWrongRole.initialize(erc20VotesToken, CORE, madeUpRole, ERC20_MIN_APPROVAL_PCT, ERC20_MIN_DISAPPROVAL_PCT);
     vm.expectRevert(abi.encodeWithSelector(ILlamaRelativeStrategyBase.InvalidRole.selector, tokenVotingCasterRole));
-    casterWithWrongRole.submitDisapprovals(actionInfo);
+    casterWithWrongRole.submitVetos(actionInfo);
   }
 
-  function test_RevertsIf_AlreadySubmittedDisapproval() public {
+  function test_RevertsIf_AlreadySubmittedVeto() public {
     Action memory action = CORE.getAction(actionInfo.id);
     vm.warp(
       action.minExecutionTime
@@ -640,61 +630,61 @@ contract SubmitDisapprovals is ERC20TokenholderCasterTest {
           / ONE_HUNDRED_IN_BPS
     );
 
-    castDisapprovalsFor();
+    castVetosFor();
 
     vm.startPrank(tokenHolder1);
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    erc20TokenholderCaster.submitVetos(actionInfo);
 
-    vm.expectRevert(TokenholderCaster.AlreadySubmittedDisapproval.selector);
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    vm.expectRevert(TokenholderCaster.AlreadySubmittedVeto.selector);
+    erc20TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_SubmissionPeriodOver() public {
-    castDisapprovalsFor();
+    castVetosFor();
 
     vm.warp(block.timestamp + 1 days);
     vm.expectRevert(TokenholderCaster.SubmissionPeriodOver.selector);
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    erc20TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_InsufficientDisapprovals() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
-    castApprovalsFor();
+    castVotesFor();
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
-    erc20TokenholderCaster.submitApprovals(actionInfo);
+    erc20TokenholderCaster.submitVotes(actionInfo);
 
     //TODO why add 1 here
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
-    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientApprovals.selector, 0, 75_000e18));
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientVotes.selector, 0, 75_000e18));
+    erc20TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_CastingPeriodNotOver() public {
     vm.warp(block.timestamp + (1 days * 3333) / ONE_HUNDRED_IN_BPS); // 1/3 of the approval period
     vm.expectRevert(TokenholderCaster.CantSubmitYet.selector);
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    erc20TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_ForDoesNotSurpassAgainst() public {
     vm.prank(tokenHolder1);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 0, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 0, "");
     vm.prank(tokenHolder3);
-    erc20TokenholderCaster.castDisapproval(actionInfo, 0, "");
+    erc20TokenholderCaster.castVeto(actionInfo, 0, "");
     // TODO why add 1 here?
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.ForDoesNotSurpassAgainst.selector, 250_000e18, 500_000e18));
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    erc20TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_SubmitsDisapprovalsCorrectly() public {
-    castDisapprovalsFor();
+    castVetosFor();
 
     //TODO why add 1 here?
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.expectEmit();
-    emit DisapprovalsSubmitted(actionInfo.id, 750_000e18, 0, 0);
-    erc20TokenholderCaster.submitDisapprovals(actionInfo);
+    emit VetosSubmitted(actionInfo.id, 750_000e18, 0, 0);
+    erc20TokenholderCaster.submitVetos(actionInfo);
   }
 }
diff --git a/test/token-voting/ERC721TokenholderCaster.t.sol b/test/token-voting/ERC721TokenholderCaster.t.sol
index 40c7d1a..820745a 100644
--- a/test/token-voting/ERC721TokenholderCaster.t.sol
+++ b/test/token-voting/ERC721TokenholderCaster.t.sol
@@ -17,17 +17,17 @@ import {ERC721TokenholderCaster} from "src/token-voting/ERC721TokenholderCaster.
 import {TokenholderCaster} from "src/token-voting/TokenholderCaster.sol";
 
 contract ERC721TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigUtils {
-  event ApprovalCast(
+  event VoteCast(
     uint256 id, address indexed policyholder, uint8 indexed role, uint8 indexed support, uint256 quantity, string reason
   );
 
-  event ApprovalsSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
+  event VotesSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
 
-  event DisapprovalCast(
+  event VetoCast(
     uint256 id, address indexed policyholder, uint8 indexed role, uint8 indexed support, uint256 quantity, string reason
   );
 
-  event DisapprovalsSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
+  event VetosSubmitted(uint256 id, uint96 quantityFor, uint96 quantityAgainst, uint96 quantityAbstain);
 
   ActionInfo actionInfo;
   ERC721TokenholderCaster erc721TokenholderCaster;
@@ -73,22 +73,22 @@ contract ERC721TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigU
     );
   }
 
-  function castApprovalsFor() public {
+  function castVotesFor() public {
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
     vm.prank(tokenHolder3);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
-  function castDisapprovalsFor() public {
+  function castVetosFor() public {
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
     vm.prank(tokenHolder3);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 }
 
@@ -116,20 +116,20 @@ contract ERC721TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigU
 //     new ERC721TokenholderCaster(erc721VotesToken, ILlamaCore(address(CORE)), uint8(255), uint256(1), uint256(1));
 //   }
 
-//   function test_RevertsIf_InvalidMinApprovalPct() public {
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinApprovalPct.selector, uint256(0)));
+//   function test_RevertsIf_InvalidVoteQuorum() public {
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVoteQuorum.selector, uint256(0)));
 //     new ERC721TokenholderCaster(erc721VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(0),
 // uint256(1));
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinApprovalPct.selector, uint256(10_001)));
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVoteQuorum.selector, uint256(10_001)));
 //     new ERC721TokenholderCaster(erc721VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(10_001),
 // uint256(1));
 //   }
 
-//   function test_RevertsIf_InvalidMinDisapprovalPct() public {
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinDisapprovalPct.selector, uint256(0)));
+//   function test_RevertsIf_InvalidVetoQuorum() public {
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVetoQuorum.selector, uint256(0)));
 //     new ERC721TokenholderCaster(erc721VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(1),
 // uint256(0));
-//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidMinDisapprovalPct.selector, uint256(10_001)));
+//     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidVetoQuorum.selector, uint256(10_001)));
 //     new ERC721TokenholderCaster(erc721VotesToken, ILlamaCore(address(CORE)), tokenVotingCasterRole, uint256(1),
 // uint256(10_001));
 //   }
@@ -152,11 +152,11 @@ contract ERC721TokenholderCasterTest is LlamaTokenVotingTestSetup, LlamaCoreSigU
 //   }
 // }
 
-contract CastApproval is ERC721TokenholderCasterTest {
+contract CastVote is ERC721TokenholderCasterTest {
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc721TokenholderCaster.castApproval(notActionInfo, 1, "");
+    erc721TokenholderCaster.castVote(notActionInfo, 1, "");
   }
 
   function test_RevertsIf_ApprovalNotEnabled() public {
@@ -170,44 +170,44 @@ contract CastApproval is ERC721TokenholderCasterTest {
     );
 
     vm.expectRevert(abi.encodeWithSelector(ILlamaRelativeStrategyBase.InvalidRole.selector, tokenVotingCasterRole));
-    casterWithWrongRole.castApproval(actionInfo, 1, "");
+    casterWithWrongRole.castVote(actionInfo, 1, "");
   }
 
   function test_RevertsIf_ActionNotActive() public {
     vm.warp(block.timestamp + 1 days + 1);
     vm.expectRevert(TokenholderCaster.ActionNotActive.selector);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
-  function test_RevertsIf_AlreadyCastApproval() public {
+  function test_RevertsIf_AlreadyCastVote() public {
     vm.startPrank(tokenHolder1);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
 
-    vm.expectRevert(TokenholderCaster.AlreadyCastApproval.selector);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    vm.expectRevert(TokenholderCaster.AlreadyCastVote.selector);
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InvalidSupport() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidSupport.selector, uint8(3)));
-    erc721TokenholderCaster.castApproval(actionInfo, 3, "");
+    erc721TokenholderCaster.castVote(actionInfo, 3, "");
   }
 
   function test_RevertsIf_CastingPeriodOver() public {
     vm.warp(block.timestamp + ((1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS) + 1); // 2/3 of the approval period
     vm.expectRevert(TokenholderCaster.CastingPeriodOver.selector);
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InsufficientBalance() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientBalance.selector, 0));
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
   }
 
   function test_CastsApprovalCorrectly(uint8 support) public {
     support = uint8(bound(support, 0, 2));
     vm.expectEmit();
-    emit ApprovalCast(
+    emit VoteCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -216,12 +216,12 @@ contract CastApproval is ERC721TokenholderCasterTest {
       ""
     );
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castApproval(actionInfo, support, "");
+    erc721TokenholderCaster.castVote(actionInfo, support, "");
   }
 
   function test_CastsApprovalCorrectly_WithReason() public {
     vm.expectEmit();
-    emit ApprovalCast(
+    emit VoteCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -230,11 +230,11 @@ contract CastApproval is ERC721TokenholderCasterTest {
       "reason"
     );
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "reason");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "reason");
   }
 }
 
-contract CastApprovalBySig is ERC721TokenholderCasterTest {
+contract CastVoteBySig is ERC721TokenholderCasterTest {
   function setUp() public virtual override {
     ERC721TokenholderCasterTest.setUp();
   }
@@ -244,26 +244,21 @@ contract CastApprovalBySig is ERC721TokenholderCasterTest {
     view
     returns (uint8 v, bytes32 r, bytes32 s)
   {
-    LlamaCoreSigUtils.CastApproval memory castApproval = LlamaCoreSigUtils.CastApproval({
-      actionInfo: _actionInfo,
-      support: 1,
-      reason: "",
-      tokenHolder: tokenHolder1,
-      nonce: 0
-    });
-    bytes32 digest = getCastApprovalTypedDataHash(castApproval);
+    LlamaCoreSigUtils.CastVote memory castVote =
+      LlamaCoreSigUtils.CastVote({actionInfo: _actionInfo, support: 1, reason: "", tokenHolder: tokenHolder1, nonce: 0});
+    bytes32 digest = getCastVoteTypedDataHash(castVote);
     (v, r, s) = vm.sign(privateKey, digest);
   }
 
-  function castApprovalBySig(ActionInfo memory _actionInfo, uint8 support, uint8 v, bytes32 r, bytes32 s) internal {
-    erc721TokenholderCaster.castApprovalBySig(tokenHolder1, support, _actionInfo, "", v, r, s);
+  function castVoteBySig(ActionInfo memory _actionInfo, uint8 support, uint8 v, bytes32 r, bytes32 s) internal {
+    erc721TokenholderCaster.castVoteBySig(tokenHolder1, support, _actionInfo, "", v, r, s);
   }
 
   function test_CastsApprovalBySig() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.expectEmit();
-    emit ApprovalCast(
+    emit VoteCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -272,24 +267,24 @@ contract CastApprovalBySig is ERC721TokenholderCasterTest {
       ""
     );
 
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 
   function test_CheckNonceIncrements() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
-    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castApprovalBySig.selector), 0);
-    castApprovalBySig(actionInfo, 1, v, r, s);
-    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castApprovalBySig.selector), 1);
+    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVoteBySig.selector), 0);
+    castVoteBySig(actionInfo, 1, v, r, s);
+    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVoteBySig.selector), 1);
   }
 
   function test_OperationCannotBeReplayed() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
     // Invalid Signature error since the recovered signer address during the second call is not the same as
     // erc20VotesTokenholder since nonce has increased.
     vm.expectRevert(TokenholderCaster.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 
   function test_RevertIf_SignerIsNotTokenHolder() public {
@@ -298,7 +293,7 @@ contract CastApprovalBySig is ERC721TokenholderCasterTest {
     // Invalid Signature error since the recovered signer address is not the same as the erc20VotesTokenholder passed
     // in as parameter.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 
   function test_RevertIf_SignerIsZeroAddress() public {
@@ -306,38 +301,38 @@ contract CastApprovalBySig is ERC721TokenholderCasterTest {
     // Invalid Signature error since the recovered signer address is zero address due to invalid signature values
     // (v,r,s).
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, (v + 1), r, s);
+    castVoteBySig(actionInfo, 1, (v + 1), r, s);
   }
 
   function test_RevertIf_TokenHolderIncrementsNonce() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.incrementNonce(ILlamaCore.castApprovalBySig.selector);
+    erc721TokenholderCaster.incrementNonce(TokenholderCaster.castVoteBySig.selector);
 
     // Invalid Signature error since the recovered signer address during the call is not the same as
     // erc20VotesTokenholder since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castApprovalBySig(actionInfo, 1, v, r, s);
+    castVoteBySig(actionInfo, 1, v, r, s);
   }
 }
 
-contract CastDisapproval is ERC721TokenholderCasterTest {
+contract CastVeto is ERC721TokenholderCasterTest {
   function setUp() public virtual override {
     ERC721TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc721TokenholderCaster.castDisapproval(notActionInfo, tokenVotingCasterRole, "");
+    erc721TokenholderCaster.castVeto(notActionInfo, tokenVotingCasterRole, "");
   }
 
   function test_RevertsIf_DisapprovalNotEnabled() public {
@@ -351,38 +346,38 @@ contract CastDisapproval is ERC721TokenholderCasterTest {
     );
 
     vm.expectRevert(abi.encodeWithSelector(ILlamaRelativeStrategyBase.InvalidRole.selector, tokenVotingCasterRole));
-    casterWithWrongRole.castDisapproval(actionInfo, madeUpRole, "");
+    casterWithWrongRole.castVeto(actionInfo, madeUpRole, "");
   }
 
-  function test_RevertsIf_AlreadyCastApproval() public {
+  function test_RevertsIf_AlreadyCastVote() public {
     vm.startPrank(tokenHolder1);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
 
-    vm.expectRevert(TokenholderCaster.AlreadyCastDisapproval.selector);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    vm.expectRevert(TokenholderCaster.AlreadyCastVeto.selector);
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InvalidSupport() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InvalidSupport.selector, uint8(3)));
-    erc721TokenholderCaster.castDisapproval(actionInfo, 3, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 3, "");
   }
 
   function test_RevertsIf_CastingPeriodOver() public {
     // TODO why do we need to add 2 here
     vm.warp(block.timestamp + 2 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS); // 2/3 of the approval period
     vm.expectRevert(TokenholderCaster.CastingPeriodOver.selector);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 
   function test_RevertsIf_InsufficientBalance() public {
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientBalance.selector, 0));
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
   }
 
   function test_CastsDisapprovalCorrectly(uint8 support) public {
     support = uint8(bound(support, 0, 2));
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -391,12 +386,12 @@ contract CastDisapproval is ERC721TokenholderCasterTest {
       ""
     );
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castDisapproval(actionInfo, support, "");
+    erc721TokenholderCaster.castVeto(actionInfo, support, "");
   }
 
   function test_CastsDisapprovalCorrectly_WithReason() public {
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -405,20 +400,20 @@ contract CastDisapproval is ERC721TokenholderCasterTest {
       "reason"
     );
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "reason");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "reason");
   }
 }
 
-contract CastDisapprovalBySig is ERC721TokenholderCasterTest {
+contract CastVetoBySig is ERC721TokenholderCasterTest {
   function setUp() public virtual override {
     ERC721TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function createOffchainSignature(ActionInfo memory _actionInfo, uint256 privateKey)
@@ -426,26 +421,21 @@ contract CastDisapprovalBySig is ERC721TokenholderCasterTest {
     view
     returns (uint8 v, bytes32 r, bytes32 s)
   {
-    LlamaCoreSigUtils.CastDisapproval memory castDisapproval = LlamaCoreSigUtils.CastDisapproval({
-      actionInfo: _actionInfo,
-      support: 1,
-      reason: "",
-      tokenHolder: tokenHolder1,
-      nonce: 0
-    });
-    bytes32 digest = getCastDisapprovalTypedDataHash(castDisapproval);
+    LlamaCoreSigUtils.CastVeto memory castVeto =
+      LlamaCoreSigUtils.CastVeto({actionInfo: _actionInfo, support: 1, reason: "", tokenHolder: tokenHolder1, nonce: 0});
+    bytes32 digest = getCastVetoTypedDataHash(castVeto);
     (v, r, s) = vm.sign(privateKey, digest);
   }
 
-  function castDisapprovalBySig(ActionInfo memory _actionInfo, uint8 v, bytes32 r, bytes32 s) internal {
-    erc721TokenholderCaster.castDisapprovalBySig(tokenHolder1, 1, _actionInfo, "", v, r, s);
+  function castVetoBySig(ActionInfo memory _actionInfo, uint8 v, bytes32 r, bytes32 s) internal {
+    erc721TokenholderCaster.castVetoBySig(tokenHolder1, 1, _actionInfo, "", v, r, s);
   }
 
   function test_CastsDisapprovalBySig() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -454,28 +444,28 @@ contract CastDisapprovalBySig is ERC721TokenholderCasterTest {
       ""
     );
 
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
 
     // assertEq(CORE.getAction(0).totalDisapprovals, 1);
-    // assertEq(CORE.disapprovals(0, disapproverDrake), true);
+    // assertEq(CORE.vetos(0, disapproverDrake), true);
   }
 
   function test_CheckNonceIncrements() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
-    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, ILlamaCore.castDisapprovalBySig.selector), 0);
-    castDisapprovalBySig(actionInfo, v, r, s);
-    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, ILlamaCore.castDisapprovalBySig.selector), 1);
+    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVetoBySig.selector), 0);
+    castVetoBySig(actionInfo, v, r, s);
+    assertEq(erc721TokenholderCaster.nonces(tokenHolder1, TokenholderCaster.castVetoBySig.selector), 1);
   }
 
   function test_OperationCannotBeReplayed() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
     // Invalid Signature error since the recovered signer address during the second call is not the same as
     // erc20VotesTokenholder
     // since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
   }
 
   function test_RevertIf_SignerIsNotPolicyHolder() public {
@@ -485,7 +475,7 @@ contract CastDisapprovalBySig is ERC721TokenholderCasterTest {
     // erc20VotesTokenholder
     // since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
   }
 
   function test_RevertIf_SignerIsZeroAddress() public {
@@ -493,27 +483,27 @@ contract CastDisapprovalBySig is ERC721TokenholderCasterTest {
     // Invalid Signature error since the recovered signer address is zero address due to invalid signature values
     // (v,r,s).
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, (v + 1), r, s);
+    castVetoBySig(actionInfo, (v + 1), r, s);
   }
 
   function test_RevertIf_PolicyholderIncrementsNonce() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.incrementNonce(ILlamaCore.castDisapprovalBySig.selector);
+    erc721TokenholderCaster.incrementNonce(TokenholderCaster.castVetoBySig.selector);
 
     // Invalid Signature error since the recovered signer address during the second call is not the same as policyholder
     // since nonce has increased.
     vm.expectRevert(ILlamaCore.InvalidSignature.selector);
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
   }
 
   function test_FailsIfDisapproved() public {
     (uint8 v, bytes32 r, bytes32 s) = createOffchainSignature(actionInfo, tokenHolder1PrivateKey);
 
-    // First disapproval.
+    // First veto.
     vm.expectEmit();
-    emit DisapprovalCast(
+    emit VetoCast(
       actionInfo.id,
       tokenHolder1,
       tokenVotingCasterRole,
@@ -521,16 +511,16 @@ contract CastDisapprovalBySig is ERC721TokenholderCasterTest {
       erc721VotesToken.getPastVotes(tokenHolder1, erc721VotesToken.clock() - 1),
       ""
     );
-    castDisapprovalBySig(actionInfo, v, r, s);
+    castVetoBySig(actionInfo, v, r, s);
     // assertEq(CORE.getAction(actionInfo.id).totalDisapprovals, 1);
 
-    // Second disapproval.
+    // Second veto.
     vm.prank(tokenHolder2);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
 
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    erc721TokenholderCaster.submitVetos(actionInfo);
 
     // Assertions.
     ActionState state = ActionState(CORE.getActionState(actionInfo));
@@ -545,7 +535,7 @@ contract SubmitApprovals is ERC721TokenholderCasterTest {
   function setUp() public virtual override {
     ERC721TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
   }
@@ -553,57 +543,57 @@ contract SubmitApprovals is ERC721TokenholderCasterTest {
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc721TokenholderCaster.submitApprovals(notActionInfo);
+    erc721TokenholderCaster.submitVotes(notActionInfo);
   }
 
-  function test_RevertsIf_AlreadySubmittedApproval() public {
+  function test_RevertsIf_AlreadySubmittedVote() public {
     vm.startPrank(tokenHolder1);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
 
-    vm.expectRevert(TokenholderCaster.AlreadySubmittedApproval.selector);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    vm.expectRevert(TokenholderCaster.AlreadySubmittedVote.selector);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_SubmissionPeriodOver() public {
     // TODO why do we need to add 2 here
     vm.warp(block.timestamp + ((1 days * ONE_THIRD_IN_BPS) / ONE_HUNDRED_IN_BPS) + 2); // 1/3 of the approval period
     vm.expectRevert(TokenholderCaster.SubmissionPeriodOver.selector);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
-  function test_RevertsIf_InsufficientApprovals() public {
+  function test_RevertsIf_InsufficientVotes() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
-    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientApprovals.selector, 0, 1));
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientVotes.selector, 0, 1));
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_CastingPeriodNotOver() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
     vm.warp(block.timestamp + (1 days * ONE_THIRD_IN_BPS) / ONE_HUNDRED_IN_BPS); // 1/3 of the approval period
     vm.expectRevert(TokenholderCaster.CantSubmitYet.selector);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_ForDoesNotSurpassAgainst() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
 
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castApproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVote(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc721TokenholderCaster.castApproval(actionInfo, 0, "");
+    erc721TokenholderCaster.castVote(actionInfo, 0, "");
     vm.prank(tokenHolder3);
-    erc721TokenholderCaster.castApproval(actionInfo, 0, "");
+    erc721TokenholderCaster.castVote(actionInfo, 0, "");
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.ForDoesNotSurpassAgainst.selector, 1, 2));
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_SubmitsApprovalsCorrectly() public {
     vm.expectEmit();
-    emit ApprovalsSubmitted(actionInfo.id, 3, 0, 0);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    emit VotesSubmitted(actionInfo.id, 3, 0, 0);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 }
 
@@ -611,18 +601,18 @@ contract SubmitDisapprovals is ERC721TokenholderCasterTest {
   function setUp() public virtual override {
     ERC721TokenholderCasterTest.setUp();
 
-    castApprovalsFor();
+    castVotesFor();
 
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
 
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
   }
 
   function test_RevertsIf_ActionInfoMismatch(ActionInfo memory notActionInfo) public {
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.assume(notActionInfo.id != actionInfo.id);
     vm.expectRevert();
-    erc721TokenholderCaster.submitDisapprovals(notActionInfo);
+    erc721TokenholderCaster.submitVetos(notActionInfo);
   }
 
   function test_RevertsIf_DisapprovalNotEnabled() public {
@@ -636,10 +626,10 @@ contract SubmitDisapprovals is ERC721TokenholderCasterTest {
       erc721VotesToken, CORE, madeUpRole, ERC721_MIN_APPROVAL_PCT, ERC721_MIN_DISAPPROVAL_PCT
     );
     vm.expectRevert(abi.encodeWithSelector(ILlamaRelativeStrategyBase.InvalidRole.selector, tokenVotingCasterRole));
-    casterWithWrongRole.submitDisapprovals(actionInfo);
+    casterWithWrongRole.submitVetos(actionInfo);
   }
 
-  function test_RevertsIf_AlreadySubmittedDisapproval() public {
+  function test_RevertsIf_AlreadySubmittedVeto() public {
     Action memory action = CORE.getAction(actionInfo.id);
     vm.warp(
       action.minExecutionTime
@@ -647,61 +637,61 @@ contract SubmitDisapprovals is ERC721TokenholderCasterTest {
           / ONE_HUNDRED_IN_BPS
     );
 
-    castDisapprovalsFor();
+    castVetosFor();
 
     vm.startPrank(tokenHolder1);
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    erc721TokenholderCaster.submitVetos(actionInfo);
 
-    vm.expectRevert(TokenholderCaster.AlreadySubmittedDisapproval.selector);
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    vm.expectRevert(TokenholderCaster.AlreadySubmittedVeto.selector);
+    erc721TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_SubmissionPeriodOver() public {
-    castDisapprovalsFor();
+    castVetosFor();
 
     vm.warp(block.timestamp + 1 days);
     vm.expectRevert(TokenholderCaster.SubmissionPeriodOver.selector);
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    erc721TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_InsufficientDisapprovals() public {
     actionInfo = _createActionWithTokenVotingStrategy(tokenVotingStrategy);
-    castApprovalsFor();
+    castVotesFor();
     vm.warp(block.timestamp + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
-    erc721TokenholderCaster.submitApprovals(actionInfo);
+    erc721TokenholderCaster.submitVotes(actionInfo);
 
     //TODO why add 1 here
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
-    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientApprovals.selector, 0, 1));
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.InsufficientVotes.selector, 0, 1));
+    erc721TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_CastingPeriodNotOver() public {
     vm.warp(block.timestamp + (1 days * 3333) / ONE_HUNDRED_IN_BPS); // 1/3 of the approval period
     vm.expectRevert(TokenholderCaster.CantSubmitYet.selector);
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    erc721TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_RevertsIf_ForDoesNotSurpassAgainst() public {
     vm.prank(tokenHolder1);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 1, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 1, "");
     vm.prank(tokenHolder2);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 0, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 0, "");
     vm.prank(tokenHolder3);
-    erc721TokenholderCaster.castDisapproval(actionInfo, 0, "");
+    erc721TokenholderCaster.castVeto(actionInfo, 0, "");
     // TODO why add 1 here?
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.expectRevert(abi.encodeWithSelector(TokenholderCaster.ForDoesNotSurpassAgainst.selector, 1, 2));
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    erc721TokenholderCaster.submitVetos(actionInfo);
   }
 
   function test_SubmitsDisapprovalsCorrectly() public {
-    castDisapprovalsFor();
+    castVetosFor();
 
     //TODO why add 1 here?
     vm.warp(block.timestamp + 1 + (1 days * TWO_THIRDS_IN_BPS) / ONE_HUNDRED_IN_BPS);
     vm.expectEmit();
-    emit DisapprovalsSubmitted(actionInfo.id, 3, 0, 0);
-    erc721TokenholderCaster.submitDisapprovals(actionInfo);
+    emit VetosSubmitted(actionInfo.id, 3, 0, 0);
+    erc721TokenholderCaster.submitVetos(actionInfo);
   }
 }
diff --git a/test/token-voting/LlamaTokenVotingFactory.t.sol b/test/token-voting/LlamaTokenVotingFactory.t.sol
index 75a6811..2af0817 100644
--- a/test/token-voting/LlamaTokenVotingFactory.t.sol
+++ b/test/token-voting/LlamaTokenVotingFactory.t.sol
@@ -18,12 +18,8 @@ import {LlamaTokenVotingFactory} from "src/token-voting/LlamaTokenVotingFactory.
 contract LlamaTokenVotingFactoryTest is LlamaTokenVotingTestSetup {
   event ERC20TokenholderActionCreatorCreated(address actionCreator, address indexed token);
   event ERC721TokenholderActionCreatorCreated(address actionCreator, address indexed token);
-  event ERC20TokenholderCasterCreated(
-    address caster, address indexed token, uint256 minApprovalPct, uint256 minDisapprovalPct
-  );
-  event ERC721TokenholderCasterCreated(
-    address caster, address indexed token, uint256 minApprovalPct, uint256 minDisapprovalPct
-  );
+  event ERC20TokenholderCasterCreated(address caster, address indexed token, uint256 voteQuorum, uint256 vetoQuorum);
+  event ERC721TokenholderCasterCreated(address caster, address indexed token, uint256 voteQuorum, uint256 vetoQuorum);
   event ActionThresholdSet(uint256 newThreshold);
 
   function setUp() public override {
@@ -133,8 +129,8 @@ contract DeployTokenVotingModule is LlamaTokenVotingFactoryTest {
     assertEq(address(erc20TokenholderCaster.token()), address(erc20VotesToken));
     assertEq(address(erc20TokenholderCaster.llamaCore()), address(CORE));
     assertEq(erc20TokenholderCaster.role(), tokenVotingCasterRole);
-    assertEq(erc20TokenholderCaster.minApprovalPct(), ERC20_MIN_APPROVAL_PCT);
-    assertEq(erc20TokenholderCaster.minDisapprovalPct(), ERC20_MIN_DISAPPROVAL_PCT);
+    assertEq(erc20TokenholderCaster.voteQuorum(), ERC20_MIN_APPROVAL_PCT);
+    assertEq(erc20TokenholderCaster.vetoQuorum(), ERC20_MIN_DISAPPROVAL_PCT);
   }
 
   function test_CanDeployERC721TokenVotingModule() public {
@@ -185,7 +181,7 @@ contract DeployTokenVotingModule is LlamaTokenVotingFactoryTest {
     assertEq(address(erc721TokenholderCaster.token()), address(erc721VotesToken));
     assertEq(address(erc721TokenholderCaster.llamaCore()), address(CORE));
     assertEq(erc721TokenholderCaster.role(), tokenVotingCasterRole);
-    assertEq(erc721TokenholderCaster.minApprovalPct(), ERC721_MIN_APPROVAL_PCT);
-    assertEq(erc721TokenholderCaster.minDisapprovalPct(), ERC721_MIN_DISAPPROVAL_PCT);
+    assertEq(erc721TokenholderCaster.voteQuorum(), ERC721_MIN_APPROVAL_PCT);
+    assertEq(erc721TokenholderCaster.vetoQuorum(), ERC721_MIN_DISAPPROVAL_PCT);
   }
 }
diff --git a/test/utils/LlamaCoreSigUtils.sol b/test/utils/LlamaCoreSigUtils.sol
index ad44bd7..18579cc 100644
--- a/test/utils/LlamaCoreSigUtils.sol
+++ b/test/utils/LlamaCoreSigUtils.sol
@@ -27,7 +27,7 @@ contract LlamaCoreSigUtils {
     uint256 nonce;
   }
 
-  struct CastApproval {
+  struct CastVote {
     address tokenHolder;
     uint8 support;
     ActionInfo actionInfo;
@@ -35,7 +35,7 @@ contract LlamaCoreSigUtils {
     uint256 nonce;
   }
 
-  struct CastDisapproval {
+  struct CastVeto {
     address tokenHolder;
     uint8 support;
     ActionInfo actionInfo;
@@ -57,14 +57,14 @@ contract LlamaCoreSigUtils {
     "CancelAction(address tokenHolder,ActionInfo actionInfo,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
   );
 
-  /// @notice EIP-712 castApproval typehash.
-  bytes32 internal constant CAST_APPROVAL_TYPEHASH = keccak256(
-    "CastApproval(address tokenHolder,uint8 support,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
+  /// @notice EIP-712 castVote typehash.
+  bytes32 internal constant CAST_VOTE_TYPEHASH = keccak256(
+    "CastVote(address tokenHolder,uint8 support,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
   );
 
-  /// @notice EIP-712 castDisapproval typehash.
-  bytes32 internal constant CAST_DISAPPROVAL_TYPEHASH = keccak256(
-    "CastDisapproval(address tokenHolder,uint8 role,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
+  /// @notice EIP-712 castVeto typehash.
+  bytes32 internal constant CAST_VETO_TYPEHASH = keccak256(
+    "CastVeto(address tokenHolder,uint8 role,ActionInfo actionInfo,string reason,uint256 nonce)ActionInfo(uint256 id,address creator,uint8 creatorRole,address strategy,address target,uint256 value,bytes data)"
   );
 
   /// @notice EIP-712 actionInfo typehash.
@@ -124,44 +124,44 @@ contract LlamaCoreSigUtils {
     return keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR, getCancelActionHash(cancelAction)));
   }
 
-  /// @notice Returns the hash of CastApproval.
-  function getCastApprovalHash(CastApproval memory castApproval) internal pure returns (bytes32) {
+  /// @notice Returns the hash of CastVote.
+  function getCastVoteHash(CastVote memory castVote) internal pure returns (bytes32) {
     return keccak256(
       abi.encode(
-        CAST_APPROVAL_TYPEHASH,
-        castApproval.tokenHolder,
-        castApproval.support,
-        getActionInfoHash(castApproval.actionInfo),
-        keccak256(bytes(castApproval.reason)),
-        castApproval.nonce
+        CAST_VOTE_TYPEHASH,
+        castVote.tokenHolder,
+        castVote.support,
+        getActionInfoHash(castVote.actionInfo),
+        keccak256(bytes(castVote.reason)),
+        castVote.nonce
       )
     );
   }
 
-  /// @notice Returns the hash of the fully encoded EIP-712 message for the CastApproval domain, which can be used to
+  /// @notice Returns the hash of the fully encoded EIP-712 message for the CastVote domain, which can be used to
   /// recover the signer.
-  function getCastApprovalTypedDataHash(CastApproval memory castApproval) internal view returns (bytes32) {
-    return keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR, getCastApprovalHash(castApproval)));
+  function getCastVoteTypedDataHash(CastVote memory castVote) internal view returns (bytes32) {
+    return keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR, getCastVoteHash(castVote)));
   }
 
-  /// @notice Returns the hash of CastDisapprovalBySig.
-  function getCastDisapprovalHash(CastDisapproval memory castDisapproval) internal pure returns (bytes32) {
+  /// @notice Returns the hash of CastVetoBySig.
+  function getCastVetoHash(CastVeto memory castVeto) internal pure returns (bytes32) {
     return keccak256(
       abi.encode(
-        CAST_DISAPPROVAL_TYPEHASH,
-        castDisapproval.tokenHolder,
-        castDisapproval.support,
-        getActionInfoHash(castDisapproval.actionInfo),
-        keccak256(bytes(castDisapproval.reason)),
-        castDisapproval.nonce
+        CAST_VETO_TYPEHASH,
+        castVeto.tokenHolder,
+        castVeto.support,
+        getActionInfoHash(castVeto.actionInfo),
+        keccak256(bytes(castVeto.reason)),
+        castVeto.nonce
       )
     );
   }
 
-  /// @notice Returns the hash of the fully encoded EIP-712 message for the CastDisapproval domain, which can be used to
+  /// @notice Returns the hash of the fully encoded EIP-712 message for the CastVeto domain, which can be used to
   /// recover the signer.
-  function getCastDisapprovalTypedDataHash(CastDisapproval memory castDisapproval) internal view returns (bytes32) {
-    return keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR, getCastDisapprovalHash(castDisapproval)));
+  function getCastVetoTypedDataHash(CastVeto memory castVeto) internal view returns (bytes32) {
+    return keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR, getCastVetoHash(castVeto)));
   }
 
   /// @notice Returns the hash of ActionInfo.