breaking argument parsing out into separate module, and starting back on cycleLengths implementation