diff --git a/rm.c b/rm.c
index bd66311..63878b8 100644
--- a/rm.c
+++ b/rm.c
@@ -9,7 +9,7 @@
 
 static int usage()
 {
-    fprintf(stderr,"rm [-rR] <target>\n");
+    fprintf(stderr,"rm [-rRf] <target>\n");
     return -1;
 }
 
@@ -65,23 +65,34 @@
 
 int rm_main(int argc, char *argv[])
 {
-    int ret;
+    int opt;
     int i = 1;
     int recursive = 0;
+    int force = 0;
 
     if (argc < 2)
         return usage();
 
-    /* check if recursive */
-    if (argc >=2 && (!strcmp(argv[1], "-r") || !strcmp(argv[1], "-R"))) {
-        recursive = 1;
-        i = 2;
+    while ((opt = getopt(argc, argv, "rRf")) != -1) {
+      switch (opt) {
+        case 'r':
+        case 'R':
+          recursive = 1;
+          break;
+        case 'f':
+          force = 1;
+          break;
+        default:
+          return usage();
+      }
     }
-    
+
+    i = optind;
+
     /* loop over the file/directory args */
     for (; i < argc; i++) {
         int ret = recursive ? unlink_recursive(argv[i]) : unlink(argv[i]);
-        if (ret < 0) {
+        if (ret < 0 && !force) {
             fprintf(stderr, "rm failed for %s, %s\n", argv[i], strerror(errno));
             return -1;
         }
@@ -89,4 +100,3 @@
 
     return 0;
 }
-
