moved arg parser to the main section