Adding initial pipelined version