finish OPT, with bugs maybe