proper pipelining