data flow oriented design