continued with pipes
removed code duplications by leading all pipes through one class. also added encased types for pipes

TODO
 - combined pipe