refactor add wrapper function