diff --git a/setup.py b/setup.py
index 7c315ef..f61f06c 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
 
 setuptools.setup(
     name="text2digits",
-    version="0.0.9",
+    version="0.1.0",
     author="Shail Choksi",
     author_email="choksishail@gmail.com",
     description="A small library to convert text numbers to digits in a string",
diff --git a/text2digits/rules.py b/text2digits/rules.py
index b892c4b..bc7a96e 100644
--- a/text2digits/rules.py
+++ b/text2digits/rules.py
@@ -119,15 +119,16 @@ class CombinationRule(Rule):
         result = Decimal(0)
         last_glue = ''
         prev_scale = 1
+        all_scales = [token.scale() for token in tokens]
 
-        for token in tokens:
+        for index, token in enumerate(tokens):
             assert token.type != WordType.OTHER, 'Invalid token type (only numbers are allowed here)'
 
             if token.has_large_scale():
                 # Multiply the scale at least with a value of 1 (and not 0)
                 current = max(1, current)
 
-            if token.scale() < prev_scale:
+            if token.scale() < prev_scale and prev_scale > max(all_scales[index:]):
                 # Flush the result when switching from a larger to a smaller scale
                 # e.g. one thousand *FLUSH* six hundred *FLUSH* sixty six
                 result += current
@@ -141,7 +142,6 @@ class CombinationRule(Rule):
 
         return CombinedToken(tokens, result, last_glue)
 
-
 class ConcatenationRule(Rule):
     """
     This rule handles all the "year cases" like twenty twenty where we simply concatenate the numbers together. The numbers are already transformed to digits by the CombinationRule.
@@ -154,7 +154,8 @@ class ConcatenationRule(Rule):
 
         # Find all numeric tokens
         while i < len(tokens):
-            if tokens[i].type in self.valid_types:
+            if tokens[i].type in self.valid_types and not tokens[i].is_ordinal():
+                # Avoid ordinals. Example: 'look at the second one' should convert into '2nd 1' not '21'
                 i += 1
             else:
                 break
diff --git a/text2digits/tokens_basic.py b/text2digits/tokens_basic.py
index 1a8e006..b6238e6 100644
--- a/text2digits/tokens_basic.py
+++ b/text2digits/tokens_basic.py
@@ -22,6 +22,7 @@ class Token(object):
              'nineteen']
     TENS = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']
     SCALES = ['hundred', 'thousand', 'million', 'billion', 'trillion']
+    SCALE_VALUES = [100, 1000, 1000000, 1000000000, 1000000000000] # used for has_large_scale
     CONJUNCTION = ['and']
     ORDINAL_WORDS = {'oh': 'zero', 'first': 'one', 'second': 'two', 'third': 'three', 'fifth': 'five',
                      'eighth': 'eight', 'ninth': 'nine', 'twelfth': 'twelve'}
@@ -96,7 +97,8 @@ class Token(object):
         if self.type == WordType.SCALES:
             return True
         elif self.type in [WordType.LITERAL_INT, WordType.LITERAL_FLOAT]:
-            return Decimal(self._word) >= 100 and Decimal(self._word) % 10 == 0
+            # whether the value is a scale (e.g. 100, 1000, 1000000, etc.)
+            return Decimal(self._word) in self.SCALE_VALUES
         else:
             return False
 

diff --git a/tests/test_number_conversion.py b/tests/test_number_conversion.py
index 4679158..a483bcd 100644
--- a/tests/test_number_conversion.py
+++ b/tests/test_number_conversion.py
@@ -29,6 +29,8 @@ def test_str_unchanged_if_no_numbers(input_text):
     ("I am the fourth cousin", "I am the 4 cousin"),
     ("forty-two", "42"),
     ("forty_two", "42"),
+    ("six hundred seventy five thousand word book", "675000 word book"),
+    ("one million two hundred twenty nine thousand three hundred and eighty six", "1229386"),
 ])
 def test_positive_integers(input_text, expected):
     t2d_default = text2digits.Text2Digits()
@@ -114,6 +116,7 @@ def test_spelling_correction(input_text, expected):
     ("1.2345 hundred", "123.45"),
     ("twenty 1.0", "20 1.0"),
     ("100 and two", "102"),
+    ('6 2020', '6 2020'),
 ])
 def test_number_literals(input_text, expected):
     t2d_default = text2digits.Text2Digits()

Problems to convert date in format like "January sixth twenty twenty"
from text2digits import text2digits
t2d = text2digits.Text2Digits()
print(t2d.convert("january six twenty nineteen"))
print(t2d.convert("january 6 2019"))
print(t2d.convert("january six twenty twenty"))
print(t2d.convert("january 6 2020"))
print(t2d.convert("january six twenty twenty one"))
print(t2d.convert("january six in twenty twenty one"))
print(t2d.convert("january 6 2021"))

Output:
january 62019
january 6 2019
january 62020
january 12120 (!! pay attention to number)
january 62021
january 6 in 2021
january 6 2021
tests/test_number_conversion.py::test_positive_integers[one tests/test_number_conversion.py::test_positive_integers[six tests/test_number_conversion.py::test_number_literals[6
tests/test_number_conversion.py::test_str_unchanged_if_no_numbers[A tests/test_number_conversion.py::test_str_unchanged_if_no_numbers[Hello tests/test_number_conversion.py::test_positive_integers[ten tests/test_number_conversion.py::test_positive_integers[hundred tests/test_number_conversion.py::test_positive_integers[fifty tests/test_number_conversion.py::test_positive_integers[thousand tests/test_number_conversion.py::test_positive_integers[two tests/test_number_conversion.py::test_positive_integers[I tests/test_number_conversion.py::test_positive_integers[forty-two-42] tests/test_number_conversion.py::test_positive_integers[forty_two-42] tests/test_number_conversion.py::test_years[I tests/test_number_conversion.py::test_years[thirty tests/test_number_conversion.py::test_years[sixteen tests/test_number_conversion.py::test_years[twenty tests/test_number_conversion.py::test_years[fifty tests/test_number_conversion.py::test_years[sixty tests/test_number_conversion.py::test_multiple_types_of_numbers[it tests/test_number_conversion.py::test_multiple_types_of_numbers[I tests/test_number_conversion.py::test_multiple_types_of_numbers[asb tests/test_number_conversion.py::test_multiple_types_of_numbers[twenty tests/test_number_conversion.py::test_others[eleven tests/test_number_conversion.py::test_others[Sixteen tests/test_number_conversion.py::test_others[twenty tests/test_number_conversion.py::test_others[three tests/test_number_conversion.py::test_others[nineteen-19] tests/test_number_conversion.py::test_others[ninteen-ninteen] tests/test_number_conversion.py::test_others[nintteen-nintteen] tests/test_number_conversion.py::test_others[ninten-ninten] tests/test_number_conversion.py::test_others[ninetin-ninetin] tests/test_number_conversion.py::test_others[ninteen tests/test_number_conversion.py::test_others[sixty tests/test_number_conversion.py::test_others[one tests/test_number_conversion.py::test_others[zero tests/test_number_conversion.py::test_others[twelve tests/test_number_conversion.py::test_others[hundred tests/test_number_conversion.py::test_spelling_correction[ninteen-19] tests/test_number_conversion.py::test_spelling_correction[nintteen-19] tests/test_number_conversion.py::test_spelling_correction[ninten-ninten] tests/test_number_conversion.py::test_spelling_correction[ninetin-90] tests/test_number_conversion.py::test_spelling_correction[ninteen tests/test_number_conversion.py::test_number_literals[forty tests/test_number_conversion.py::test_number_literals[1,000 tests/test_number_conversion.py::test_number_literals[1,000-1,000] tests/test_number_conversion.py::test_number_literals[10, tests/test_number_conversion.py::test_number_literals[2.5 tests/test_number_conversion.py::test_number_literals[1.2345 tests/test_number_conversion.py::test_number_literals[twenty tests/test_number_conversion.py::test_number_literals[100 tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[third-True-False-3] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[third-False-False-third] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[third-True-True-3rd] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[twenty-first-True-False-21] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[twenty-first-False-False-twenty-first] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[twenty-first-True-True-21st] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[thirty-second-True-False-32] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[thirty-second-False-False-thirty-second] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[thirty-second-True-True-32nd] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[forty-third-True-False-43] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[forty-third-False-False-forty-third] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[forty-third-True-True-43rd] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[tenth-True-False-10] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[tenth-False-False-tenth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[tenth-True-True-10th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[fifty-fourth-True-False-54] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[fifty-fourth-False-False-fifty-fourth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[fifty-fourth-True-True-54th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[twentieth-True-False-20] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[twentieth-False-False-twentieth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[twentieth-True-True-20th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[seventieth-True-False-70] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[seventieth-False-False-seventieth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[seventieth-True-True-70th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[hundredth-True-False-100] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[hundredth-False-False-hundredth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[hundredth-True-True-100th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[seven-hundredth-True-False-700] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[seven-hundredth-False-False-seven-hundredth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[seven-hundredth-True-True-700th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[thousandth-True-False-1000] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[thousandth-False-False-thousandth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[thousandth-True-True-1000th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[ten-thousandth-True-False-10000] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[ten-thousandth-False-False-ten-thousandth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[ten-thousandth-True-True-10000th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[two-hundred-thousandth-True-False-200000] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[two-hundred-thousandth-False-False-two-hundred-thousandth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[two-hundred-thousandth-True-True-200000th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[millionth-True-False-1000000] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[millionth-False-False-millionth] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[millionth-True-True-1000000th] tests/test_number_conversion.py::test_ordinal_conversion_switch_disabled[millionth-False-True-1000000th] tests/test_number_conversion.py::test_ordinal_at_the_end_of_the_sentence[eighth-True-False-8] tests/test_number_conversion.py::test_ordinal_at_the_end_of_the_sentence[eighth-False-False-eighth] tests/test_number_conversion.py::test_ordinal_at_the_end_of_the_sentence[eighth-True-True-8th] tests/test_number_conversion.py::test_ordinal_at_the_end_of_the_sentence[ninety-seventh-True-False-97] tests/test_number_conversion.py::test_ordinal_at_the_end_of_the_sentence[ninety-seventh-False-False-ninety-seventh] tests/test_number_conversion.py::test_ordinal_at_the_end_of_the_sentence[ninety-seventh-True-True-97th] tests/test_number_conversion.py::test_ordinal_multi_occurrence_and_cardinal tests/test_number_conversion.py::test_time_formats[its tests/test_number_conversion.py::test_time_formats[when tests/test_number_conversion.py::test_time_formats[at