reverse written with mapcar for all levels, not only for trivial level