Finished options parser with decent testing