new functions for map