Buffered channels, include peek function