This paper presents a new electronic voting system, called Direct Recording Electronic with Integrity (DRE-i). The DRE is a widely deployed voting system that commonly uses touch-screen technology to directly record votes. However, a lack of tallying integrity is widely considered the most contentious problem with the DRE system. In this work, we take a broad interpretation of the DRE: which includes not only touch-screen machines, as deployed at polling stations, but also remote voting systems conducted over the Internet or mobile phones. In all cases, the system records votes directly. The DRE-i protocol is generic for both on-site and remote voting and provides a drop-in mathematical solution to ensure tallying integrity without altering the user's intuitive voting experience. The auditing is voter-initiated, so every voter can verify that the machine counts votes correctly. As we adopt a novel technique to encrypt votes, the system is self-tallying: that is anyone can tally votes without any tallying authority involvement. To our best knowledge, our proposal is the first centralized e-voting system that is self-tallying. We discuss the strengths and weaknesses of this new design.