fix argparser
fix some bug and macro seems to work