begin of implementation for map