    function _transfer(address from, address to, uint256 tokenAmount) internal {
        require(tokenAmount <= balances[from], NOT_ENOUGH_TOKENS);
        require(to != address(0), ADDRESS_0_NOT_ALLOWED);
        balances[from] = balances[from].sub(tokenAmount);
        balances[to] = balances[to].add(tokenAmount);
        emit Transfer(from, to, tokenAmount);
    }