Updated documentation. Added command line argument parser. Refactored code to work with argument parser.