bfunction and afunction
ok