worked on general pipleine #3 and #4