add functions for Map