added modes; did all but one todo for insts