made callback functions expect a result argument, or a variably sized input;