switched to Getopt::Long for switch processing