parsing arguments
working copy