added pipelining back