Source piping

It almost certainly needs at least a little bit more work, but if someone wants to throw out some feed back, that could be nice.