diff --git a/09_palindromes/palindromes.js b/09_palindromes/palindromes.js
index 8d21018..59a9b81 100644
--- a/09_palindromes/palindromes.js
+++ b/09_palindromes/palindromes.js
@@ -1,5 +1,25 @@
-const palindromes = function () {
+const palindromes = function (string) {
 
+    allLetters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
+    "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
+
+    normalString = Array.from(string.toLowerCase())
+        .filter(function (letter) {
+            return allLetters.includes(letter)
+        })
+        .join(",")
+    reverseString = Array.from(string.toLowerCase())
+        .filter(function (letter) {
+            return allLetters.includes(letter)
+        })
+        .reverse()
+        .join(",")
+    
+    console.log(normalString)
+    console.log(reverseString)
+    
+    
+    return normalString === reverseString ? true : false 
 };
 
 // Do not edit below this line
diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js
index 90d53e4..8ce5aac 100644
--- a/09_palindromes/palindromes.spec.js
+++ b/09_palindromes/palindromes.spec.js
@@ -4,25 +4,25 @@ describe('palindromes', () => {
   test('works with single words', () => {
     expect(palindromes('racecar')).toBe(true);
   });
-  test.skip('works with punctuation ', () => {
+  test('works with punctuation ', () => {
     expect(palindromes('racecar!')).toBe(true);
   });
-  test.skip('works with upper-case letters ', () => {
+  test('works with upper-case letters ', () => {
     expect(palindromes('Racecar!')).toBe(true);
   });
-  test.skip('works with multiple words', () => {
+  test('works with multiple words', () => {
     expect(palindromes('A car, a man, a maraca.')).toBe(true);
   });
-  test.skip('works with multiple words', () => {
+  test('works with multiple words', () => {
     expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true);
   });
-  test.skip('doesn\'t just always return true', () => {
+  test('doesn\'t just always return true', () => {
     expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false);
   });
-  test.skip('works with numbers in a string', () => {
+  test('works with numbers in a string', () => {
     expect(palindromes('rac3e3car')).toBe(true);
   });
-  test.skip('works with unevenly spaced numbers in a string', () => {
+  test('works with unevenly spaced numbers in a string', () => {
     expect(palindromes('r3ace3car')).toBe(false);
   });
 });