1. Buffers refactoring, 2. Pipe reimplementation - not a system pipe based, NOT DONE