no more use of recursive map in map function to avoid conflicts with tuple interface