variables should be defined at the bein of the block ... else we loose portability!