this pipeline thing requires some more thought