add basic support for argument parsing