Fix and improve argparser