add arguments parser