add function mapper
wip