added a test
need recursive map