started argument parsing and validation