diff --git a/Main.c b/Main.c
index 68117d06dcbf2282f0fe75200a661559d3274e35..932d1a6b548de554fd1566a6c9980cb5d003dbbc 100644
--- a/Main.c
+++ b/Main.c
@@ -8,13 +8,40 @@
 
 /**
  * Description:
+ *  Shell program.
  *
+ *  Built in Commands:
+ *      cd: Takes exactly one additional arg. Cannot be combined with piping.
+ *      pwd: Takes no args. Cannot be combined with piping.
+ *      umask: Can take either 0 or one args. Cannot be combined with piping.
+ *
+ *  Piping can link indefinitely, so far as I can tell.
+ *  At the very least, up to four pipes (such as the following)
+ *      ls -l | grep a | grep b | grep c | grep v
+ *  appears to work with no issues or memory leaks.
  */
 
 
 /**
  * Known Issues:
+ *  Does not handle < or > symbols.
+ *  Does not handle backgrounding (& symbol).
+ */
+
+
+/**
+ * Notes:
+ *  I did not create any "toy" programs (as defined in the assignment doc)
+ *  so I cannot include those. However, I did try to start with a simple case
+ *  and slowly "upgrade" it to the current assignment.
+ *
+ *  Initially, I just focused on getting provided makeargv file to work.
+ *  Then, I got the assignment to execlp for a single, static argument.
+ *  Next, I refactored to use execvp instead of execlp.
+ *  Last, I effectively updated the program to accept (seemingly) infinite piping.
  *
+ *  To view these, look at my commit history (via something like gitk) and view
+ *  the commits between 10-20-17 and 10-26-17.
  */