Easier to understand candidate logic