small clean
and added generic  map structure