Changed argument parsing to use getopt and reworked Filesystem