Currently in every state except Maine and Nebraska it is winner-take-all, so If a candidate wins 51% of the vote he gets all the electoral votes. This is somewhat unfair since it widens the gap between a candidate's actual support and his electoral votes, it also makes close elections look like "landslides". Also the current system makes candidates focus on some states ("swing states") while ignoring the rest of the states.
Wouldn't it be better for all the states to go by Congressional districts, like Maine and Nebraska do? Say for example a Candidate wins in 2 Congressional districts in CT and loses the other 3, he should get 3 Electoral Votes and the other guy should get the remaining 4 votes.