argument parsing fully functional (detects positions of commands, arguments, input and output filenames)