add basic argument parsing