* Removed most of the error-proneness of using reverse list