documentation, minor refactoring, support for argument file input