revised map.jl