added enhanced argument parsing