updated reverse3