commented with arg explanations