overloading function call generator