added pipeline class written by Ajo