added map functions