developing pipelining functions