avoid creating superfluous anonymous function closure