optional argument parsing is introduced