refactored the ArgumentParser