improvements for the argument parser
add argument parser (incomplete)