add optparse requirement
allow no skipped keys