begin data flow stuff