add filter and pipe interfaces