handle argument parsing here