diff --git a/.gitignore b/.gitignore
index 7347638..075f737 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,9 @@
.AppleDouble
.LSOverride
+*.cmi
+*.cmo
+
# Icon must end with two \r
Icon
diff --git a/README.md b/README.md
index c5b1f00..0fbe252 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,14 @@ OCaml Language tests
https://ocaml.org/
+
+
+Compile single file:
+```shell
+$ ocamlc -o gcd gcd.ml
+```
+
+
Install on macOS
```shell
diff --git a/gcd.ml b/gcd.ml
new file mode 100644
index 0000000..96708bf
--- /dev/null
+++ b/gcd.ml
@@ -0,0 +1,18 @@
+(* File gcd.ml *)
+let rec gcd a b =
+ if b = 0 then a
+ else gcd b (a mod b);;
+
+let main () =
+ let len = Array.length Sys.argv in
+ Printf.printf "array length %d\n" len;
+ if len < 3 then (
+ Printf.printf "must have 2 args";
+ exit 0;
+ );
+ let a = int_of_string Sys.argv.(1) in
+ let b = int_of_string Sys.argv.(2) in
+ Printf.printf "gcd of %d and %d is %d\n" a b (gcd a b);
+ exit 0;;
+main ();;
+