FunctionPointer added to enable operator overloading.