add argument parser

add argument parser