adding argument parsing