add argparser
fix argparser and mainloop