add function map