Map is implemented with all the functionality