diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
 language: c
 sudo: false
+dist: bionic
 
 cache:
   directories:
@@ -12,22 +13,34 @@
 
 matrix:
   include:
-    - env: CABALVER=1.18 GHCVER=7.6.3
-      compiler: ": #GHC 7.6.3"
-      addons: {apt: {packages: [cabal-install-1.18,ghc-7.6.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.18 GHCVER=7.8.3 COVERAGE=1
-      compiler: ": #GHC 7.8.3"
-      addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.22 GHCVER=7.10.3
+    - env: CABALVER=2.0 GHCVER=7.8.4 COVERAGE=1
+      compiler: ": #GHC 7.8.4"
+      addons: {apt: {packages: [cabal-install-2.0,ghc-7.8.4,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.0 GHCVER=7.10.3
       compiler: ": #GHC 7.10.3"
-      addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
-    - env: CABALVER=1.24 GHCVER=8.0.1
-      compiler: ": #GHC 8.0.1"
-      addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1,alex-3.1.4,happy-1.19.5], sources: [hvr-ghc]}}
+      addons: {apt: {packages: [cabal-install-2.0,ghc-7.10.3,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.0 GHCVER=8.0.2
+      compiler: ": #GHC 8.0.2"
+      addons: {apt: {packages: [cabal-install-2.0,ghc-8.0.2,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.0 GHCVER=8.2.2
+      compiler: ": #GHC 8.2.2"
+      addons: {apt: {packages: [cabal-install-2.0,ghc-8.2.2,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.0 GHCVER=8.4.4
+      compiler: ": #GHC 8.4.4"
+      addons: {apt: {packages: [cabal-install-2.0,ghc-8.4.4,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.0 GHCVER=8.6.5
+      compiler: ": #GHC 8.6.5"
+      addons: {apt: {packages: [cabal-install-2.0,ghc-8.6.5,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.4 GHCVER=8.8.4
+      compiler: ": #GHC 8.8.4"
+      addons: {apt: {packages: [cabal-install-2.4,ghc-8.8.4,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
+    - env: CABALVER=2.4 GHCVER=8.10.2
+      compiler: ": #GHC 8.10.2"
+      addons: {apt: {packages: [cabal-install-2.4,ghc-8.10.2,alex-3.1.7,happy-1.19.5], sources: [hvr-ghc]}}
 
 before_install:
  - unset CC
- - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:/opt/alex/3.1.4/bin:/opt/happy/1.19.5/bin:~/.cabal/bin:$PATH
+ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:~/.cabal/bin:$PATH
 
 install:
  - cabal --version
diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,12 @@
+0.10.0
+------
+* fix `toEnum` to work when `p` is beyond Int's `maxBound`.
+
+0.9.0
+-----
+* use `tasty` instead of `test-framework` for testing
+* add `UseGHCTypeLits` flag to switch to use GHC's type-level natural numbers instead of `type-level-numbers` package
+
 0.8.0
 -----
 * remove dependency on `algebra` package, since it is outdated and not compatible with recent version of other packages
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,8 @@
 finite-field
 ============
 
-[![Build Status](https://secure.travis-ci.org/msakai/finite-field.png?branch=master)](http://travis-ci.org/msakai/finite-field) [![Hackage](https://budueba.com/hackage/finite-field)](https://hackage.haskell.org/package/finite-field) [![Coverage Status](https://coveralls.io/repos/msakai/finite-field/badge.svg)](https://coveralls.io/r/msakai/finite-field)
+[![Build Status](https://travis-ci.org/msakai/finite-field.svg?branch=master)](https://travis-ci.org/msakai/finite-field)
+[![Hackage](https://img.shields.io/hackage/v/finite-field.svg)](https://hackage.haskell.org/package/finite-field)
+[![Hackage Deps](https://img.shields.io/hackage-deps/v/finite-field.svg)](https://packdeps.haskellers.com/feed?needle=finite-field)
+[![Coverage Status](https://coveralls.io/repos/msakai/finite-field/badge.svg)](https://coveralls.io/r/msakai/finite-field)
+[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
diff --git a/finite-field.cabal b/finite-field.cabal
--- a/finite-field.cabal
+++ b/finite-field.cabal
@@ -1,5 +1,5 @@
 Name:		finite-field
-Version:	0.9.0
+Version:	0.10.0
 License:	BSD3
 License-File:	COPYING
 Author:		Masahiro Sakai (masahiro.sakai@gmail.com)
@@ -18,6 +18,15 @@
    .travis.yml
    .gitignore
 Build-Type: Simple
+Tested-With:
+   GHC ==7.8.4
+   GHC ==7.10.3
+   GHC ==8.0.2
+   GHC ==8.2.2
+   GHC ==8.4.4
+   GHC ==8.6.5
+   GHC ==8.8.4
+   GHC ==8.10.2
 
 Flag UseGHCTypeLits
   Description: set GHC.TypeLits module
@@ -62,8 +71,8 @@
       deepseq,
       hashable,
       tasty >=0.10.1,
-      tasty-hunit ==0.9.*,
-      tasty-quickcheck ==0.8.*,
+      tasty-hunit >=0.9 && <0.11,
+      tasty-quickcheck >=0.8 && <0.11,
       tasty-th,
       QuickCheck >=2.5 && <3,
       finite-field,
diff --git a/src/Data/FiniteField/PrimeField.hs b/src/Data/FiniteField/PrimeField.hs
--- a/src/Data/FiniteField/PrimeField.hs
+++ b/src/Data/FiniteField/PrimeField.hs
@@ -97,8 +97,10 @@
 
 instance KnownNat p => Enum (PrimeField p) where
   toEnum x
-    | toInt (minBound :: PrimeField p) <= x && x <= toInt (maxBound :: PrimeField p) = fromIntegral x
+    | toInteger (minBound :: PrimeField p) <= x' && x' <= toInteger (maxBound :: PrimeField p) = PrimeField x'
     | otherwise = error "PrimeField.toEnum: bad argument"
+    where
+      x' = fromIntegral x
   fromEnum = toInt
 
 instance Ord (PrimeField p) where
diff --git a/test/TestPrimeField.hs b/test/TestPrimeField.hs
--- a/test/TestPrimeField.hs
+++ b/test/TestPrimeField.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TemplateHaskell, ScopedTypeVariables, GADTs, DataKinds, CPP #-}
+{-# LANGUAGE TemplateHaskell, ScopedTypeVariables, GADTs, DataKinds, CPP, TypeOperators #-}
 {-# OPTIONS_GHC -fcontext-stack=32 #-}
 
 import Prelude hiding (toInteger)
@@ -193,6 +193,10 @@
       a = toEnum (-1)
   (ret :: Either SomeException (PrimeField p)) <- QM.run $ try $ evaluate $ a
   QM.assert $ isLeft ret
+
+-- https://github.com/msakai/finite-field/issues/2
+case_toEnum_big_integer =
+  (toEnum 7 :: $(primeField (2^127 - 1))) @?= 7  
 
 -- ----------------------------------------------------------------------
 
