transfer functions take label instead of statement