added minimal argument parsing