Implementing argument parsing