  function _transfer(address _from, address _to, uint _value) internal {
    require(_to != address(0));
    calcCurPointsForAcct(_from);
    tokenHolders[_from].tokens = safeSub(tokenHolders[_from].tokens, _value);
    if (tokenHolders[_to].lastEthSnapshot == 0)
      tokenHolders[_to].lastEthSnapshot = totalEthReceived;
    if (tokenHolders[_to].lastDaiSnapshot == 0)
      tokenHolders[_to].lastDaiSnapshot = totalDaiReceived;
    calcCurPointsForAcct(_to);
    tokenHolders[_to].tokens = safeAdd(tokenHolders[_to].tokens, _value);
    emit Transfer(_from, _to, _value);
  }