diff --git a/main.py b/main.py
index 605d4a844f927c28dae9032de7a94478276310b8..07a50394c2a1c544e392f7752946382621ff1d9d 100644
--- a/main.py
+++ b/main.py
@@ -39,19 +39,26 @@ class SmallestPositiveApp(App):
             pass
 
     @staticmethod
-    def _find_smallest_positive(entries):
-        smallest_positive = inf
+    def _extract_numbers(entries):
+        results = []
         for entry in entries:
             try:
                 value = float(entry)
-                if 0 < value < smallest_positive:
-                    smallest_positive = value
+                results.append(value)
             except ValueError:
                 pass
+        return results
+
+    @staticmethod
+    def _find_smallest_positive(values):
+        smallest_positive = inf
+        for value in values:
+            if 0 < value < smallest_positive:
+                smallest_positive = value
         return smallest_positive
 
     def on_entries(self, _, __):
-        self.result = SmallestPositiveApp._find_smallest_positive(self.entries)
+        self.result = SmallestPositiveApp._find_smallest_positive(SmallestPositiveApp._extract_numbers(self.entries))
 
     def set_entry(self, index, entry):
         self.entries[index] = entry