implemented strict map using reverse