implementing wrapper functions to avoid call-dispatching