fix grammar mistake
added tests, tiny bit of documentation
command line arg validation and --help