implement List.rev + fix offset