factoring Pipeline stuffs out