https://arshiatamin.com/posts/training/open-vs-closed-pipe/