First implementaion of FunctionWrapper