# ERC20Votes and ERC20VotesComp Question

**URL:** <https://forum.openzeppelin.com/t/erc20votes-and-erc20votescomp-question/21582>\
**Category:** Contracts\
**Tags:** erc20\
**Created:** [December 24, 2021, 9:42pm UTC](https://forum.openzeppelin.com/t/erc20votes-and-erc20votescomp-question/21582 "2021-12-24T21:42:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![DeveloperMarwan](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/developermarwan/32/17968_2.png) [@DeveloperMarwan](https://forum.openzeppelin.com/u/DeveloperMarwan)\
**Post date:** [December 24, 2021, 9:42pm UTC](https://forum.openzeppelin.com/t/erc20votes-and-erc20votescomp-question/21582/1 "2021-12-24T21:42:27Z")

</div>

I have a question about using ERC20Votes. The documentation says the following:

"By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. Enabling self-delegation can easily be done by overriding the {delegates} function. Keep in mind however that this will significantly increase the base gas cost of transfers."

I do not understand how overriding the {delegates} function enables self-delegation. When I look at the source code for the {delegates} method, it looks like it just reads the \_delegates map and returns the value corresponding to the address that is passed.

Does the user have to call the delegate(..) method and pass its own address to be able vote? because the internal \_delegate(...) method does not check that delegator and delegatee are different.

Thanks!

---

<div class="post-metadata">

**Author:** ![frangio](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/frangio/32/15251_2.png) [@frangio](https://forum.openzeppelin.com/u/frangio)\
**Post date:** [December 27, 2021, 3:26pm UTC](https://forum.openzeppelin.com/t/erc20votes-and-erc20votescomp-question/21582/2 "2021-12-27T15:26:46Z")

</div>

This was actually an error in the documentation. I've removed that recommendation now.

> Does the user have to call the delegate(..) method and pass its own address to be able vote?

Yes, exactly.
