generate function block