getopts
fix up and DRY up
shut up make