basic pipeline implemented