Updated main function to not need data file

If no data file is present it defaults to an empty dictionary
Added nicer cli using argparse