changed argument parsing