mapping done as explained in 5kk73