diff --git a/Lib/decimal.py b/Lib/decimal.py
index 7f95768..ba335bb 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -134,6 +134,7 @@
     'setcontext', 'getcontext', 'localcontext'
 ]
 
+import numbers as _numbers
 import copy as _copy
 
 # Rounding
@@ -509,7 +510,7 @@
 
 ##### Decimal class #######################################################
 
-class Decimal(object):
+class Decimal(_numbers.Real, _numbers.Inexact):
     """Floating point class for decimal arithmetic."""
 
     __slots__ = ('_exp','_int','_sign', '_is_special')
diff --git a/Lib/test/output/test_cProfile b/Lib/test/output/test_cProfile
index 0037924..7ac1433 100644
--- a/Lib/test/output/test_cProfile
+++ b/Lib/test/output/test_cProfile
@@ -5,10 +5,10 @@
 
    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
         1    0.000    0.000    1.000    1.000 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 io.py:1201(flush)
-        1    0.000    0.000    0.000    0.000 io.py:259(flush)
-        1    0.000    0.000    0.000    0.000 io.py:646(closed)
-        1    0.000    0.000    0.000    0.000 io.py:864(flush)
+        2    0.000    0.000    0.000    0.000 io.py:1211(flush)
+        1    0.000    0.000    0.000    0.000 io.py:269(flush)
+        1    0.000    0.000    0.000    0.000 io.py:656(closed)
+        1    0.000    0.000    0.000    0.000 io.py:874(flush)
         8    0.064    0.008    0.080    0.010 test_cProfile.py:103(subhelper)
        28    0.028    0.001    0.028    0.001 test_cProfile.py:115(__getattr__)
         1    0.270    0.270    1.000    1.000 test_cProfile.py:30(testfunc)
@@ -30,11 +30,11 @@
 Function                                          called...
                                                       ncalls  tottime  cumtime
 <string>:1(<module>)                              ->       1    0.270    1.000  test_cProfile.py:30(testfunc)
-io.py:1201(flush)                                 ->       1    0.000    0.000  io.py:259(flush)
-                                                           1    0.000    0.000  io.py:864(flush)
-io.py:259(flush)                                  -> 
-io.py:646(closed)                                 -> 
-io.py:864(flush)                                  ->       1    0.000    0.000  io.py:646(closed)
+io.py:1211(flush)                                 ->       1    0.000    0.000  io.py:269(flush)
+                                                           1    0.000    0.000  io.py:874(flush)
+io.py:269(flush)                                  -> 
+io.py:656(closed)                                 -> 
+io.py:874(flush)                                  ->       1    0.000    0.000  io.py:656(closed)
 test_cProfile.py:103(subhelper)                   ->      16    0.016    0.016  test_cProfile.py:115(__getattr__)
 test_cProfile.py:115(__getattr__)                 -> 
 test_cProfile.py:30(testfunc)                     ->       1    0.014    0.130  test_cProfile.py:40(factorial)
@@ -53,7 +53,7 @@
 test_cProfile.py:93(helper2)                      ->       8    0.064    0.080  test_cProfile.py:103(subhelper)
                                                            8    0.000    0.008  {hasattr}
 {exec}                                            ->       1    0.000    1.000  <string>:1(<module>)
-                                                           2    0.000    0.000  io.py:1201(flush)
+                                                           2    0.000    0.000  io.py:1211(flush)
 {hasattr}                                         ->      12    0.012    0.012  test_cProfile.py:115(__getattr__)
 {method 'append' of 'list' objects}               -> 
 {method 'disable' of '_lsprof.Profiler' objects}  -> 
@@ -65,10 +65,10 @@
 Function                                          was called by...
                                                       ncalls  tottime  cumtime
 <string>:1(<module>)                              <-       1    0.000    1.000  {exec}
-io.py:1201(flush)                                 <-       2    0.000    0.000  {exec}
-io.py:259(flush)                                  <-       1    0.000    0.000  io.py:1201(flush)
-io.py:646(closed)                                 <-       1    0.000    0.000  io.py:864(flush)
-io.py:864(flush)                                  <-       1    0.000    0.000  io.py:1201(flush)
+io.py:1211(flush)                                 <-       2    0.000    0.000  {exec}
+io.py:269(flush)                                  <-       1    0.000    0.000  io.py:1211(flush)
+io.py:656(closed)                                 <-       1    0.000    0.000  io.py:874(flush)
+io.py:874(flush)                                  <-       1    0.000    0.000  io.py:1211(flush)
 test_cProfile.py:103(subhelper)                   <-       8    0.064    0.080  test_cProfile.py:93(helper2)
 test_cProfile.py:115(__getattr__)                 <-      16    0.016    0.016  test_cProfile.py:103(subhelper)
                                                           12    0.012    0.012  {hasattr}
diff --git a/Lib/test/output/test_profile b/Lib/test/output/test_profile
index 5ecdbae..9562978 100644
--- a/Lib/test/output/test_profile
+++ b/Lib/test/output/test_profile
@@ -10,10 +10,10 @@
        12    0.000    0.000    0.012    0.001 :0(hasattr)
         1    0.000    0.000    0.000    0.000 :0(setprofile)
         1    0.000    0.000    1.000    1.000 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 io.py:1201(flush)
-        1    0.000    0.000    0.000    0.000 io.py:259(flush)
-        1    0.000    0.000    0.000    0.000 io.py:646(closed)
-        1    0.000    0.000    0.000    0.000 io.py:864(flush)
+        2    0.000    0.000    0.000    0.000 io.py:1211(flush)
+        1    0.000    0.000    0.000    0.000 io.py:269(flush)
+        1    0.000    0.000    0.000    0.000 io.py:656(closed)
+        1    0.000    0.000    0.000    0.000 io.py:874(flush)
         0    0.000             0.000          profile:0(profiler)
         1    0.000    0.000    1.000    1.000 profile:0(testfunc())
         8    0.064    0.008    0.080    0.010 test_profile.py:103(subhelper)
@@ -33,15 +33,15 @@
 :0(append)                            -> 
 :0(exc_info)                          -> 
 :0(exec)                              -> <string>:1(<module>)(1)    1.000
-                                         io.py:1201(flush)(2)    0.000
+                                         io.py:1211(flush)(2)    0.000
 :0(hasattr)                           -> test_profile.py:115(__getattr__)(12)    0.028
 :0(setprofile)                        -> 
 <string>:1(<module>)                  -> test_profile.py:30(testfunc)(1)    1.000
-io.py:1201(flush)                     -> io.py:259(flush)(1)    0.000
-                                         io.py:864(flush)(1)    0.000
-io.py:259(flush)                      -> 
-io.py:646(closed)                     -> 
-io.py:864(flush)                      -> io.py:646(closed)(1)    0.000
+io.py:1211(flush)                     -> io.py:269(flush)(1)    0.000
+                                         io.py:874(flush)(1)    0.000
+io.py:269(flush)                      -> 
+io.py:656(closed)                     -> 
+io.py:874(flush)                      -> io.py:656(closed)(1)    0.000
 profile:0(profiler)                   -> profile:0(testfunc())(1)    1.000
 profile:0(testfunc())                 -> :0(exec)(1)    1.000
                                          :0(setprofile)(1)    0.000
@@ -74,10 +74,10 @@
                                          test_profile.py:93(helper2)(8)    0.400
 :0(setprofile)                        <- profile:0(testfunc())(1)    1.000
 <string>:1(<module>)                  <- :0(exec)(1)    1.000
-io.py:1201(flush)                     <- :0(exec)(2)    1.000
-io.py:259(flush)                      <- io.py:1201(flush)(1)    0.000
-io.py:646(closed)                     <- io.py:864(flush)(1)    0.000
-io.py:864(flush)                      <- io.py:1201(flush)(1)    0.000
+io.py:1211(flush)                     <- :0(exec)(2)    1.000
+io.py:269(flush)                      <- io.py:1211(flush)(1)    0.000
+io.py:656(closed)                     <- io.py:874(flush)(1)    0.000
+io.py:874(flush)                      <- io.py:1211(flush)(1)    0.000
 profile:0(profiler)                   <- 
 profile:0(testfunc())                 <- profile:0(profiler)(1)    0.000
 test_profile.py:103(subhelper)        <- test_profile.py:93(helper2)(8)    0.400
