Hello, Firs question: b.select(0@0, oid(b.count() - 3)).mark(0@0).reverse() What is the meaning of such MIL code line? I translate it to MAL like this: cnt := aggr.count(base); cnt := cnt - 3; oid := calc.oid(cnt); sel := algebra.select(b, 0@0, oid); mrk := bat.markT(sel,0@0); c0 := bat.reverse(mrk); Is the order correct? Because I am getting the following type Error: !TypeException:user.str2qgrams[26]:'algebra.select' undefined in: sel:any := algebra.select(b:bat[:str,:void], _31:oid, oid:oid) Second question: Which function I should call for: b.reverse().seqbase(0@0); In MAL I did rev := bat.reverse(b); base := bat.setBase(rev,0@0); But the bat.setBase is comment in bat5.mal, so what function should I use? Third question: !SyntaxException:parseError: res := [+](c1, c2); !SyntaxException:parseError: ^operator expected How to resolve this error? I do not have any clue what is this about. Regards, Romulo