Implemented User Input

To Do Next:
-Figure out how to capture the ctrl+D input.
-Implement the input.output file features
-Further testing and bugproofing (test edge cases)