Added command line parsing feature, all other features implimented