use the positional constructor no need to create an intermediary map