Complete first implementation (some options not yet implemented: --file, --dir, --match, --recursive)