add parallel processing utility functions and utility funcs for argument parsing