initial working version, we now need more pipes