this has working option up to 5, and a nontested written version of opt4